code: public static <T> OptionalJsonDeserializer<T> newInstance( JsonDeserializer<T> deserializer ) {
          return new OptionalJsonDeserializer<T>( deserializer );
      }
docs: @param deserializer {@link JsonDeserializer} used to deserialize the object inside the {@link Optional}.
  @param <T> Type of the element inside the {@link Optional}
  
  @return a new instance of {@link OptionalJsonDeserializer}