code: public static <V> Input<V> optional(@Nullable V value) {
      if (value == null) {
        return absent();
      } else {
        return fromNullable(value);
      }
    }
docs: Creates a new {@link Input} instance that is defined in case if {@code value} is not-null
  and undefined otherwise.
  
  @param value to be wrapped
  @return a new {@link Input} instance