title: How to save null value in Guava Optional
body: <p>I am new to Guava library. </p>
  
  <p>I am trying to use Optional in my method arguments. One problem I found is that I cannot possibly pass null value into Optional.</p>
  
  <p>I think the purpose of introducing Optional is to differentiate </p>
  
  <ol>
  <li>Something that does not have a value</li>
  <li>Something that has a null value</li>
  </ol>
  
  <p>For example, Optional.absent() means the value does not exist. While null is a value that exist.</p>
  
  <p>With this logic, I assume Optional must have some way to allow us to save a null value in it. However, I could not find a way to do this. </p>
  
  <p>My method is defined as:</p>
  
  <pre><code>void myMethod(Optional&lt;String&gt; arguments) {
      ....
  }
  </code></pre>
  
  <p>If I use </p>
  
  <pre><code>myMethod(Optional.of(null));
  </code></pre>
  
  <p>It will give me the runtime error says the value cannot be null.</p>
  
  <p>How can I possibly pass null inside an Optional?</p>