code: public static <T> OptionalJsonSerializer<T> newInstance( JsonSerializer<T> serializer ) {
          return new OptionalJsonSerializer<T>( serializer );
      }
docs: @param serializer {@link JsonSerializer} used to serialize the object inside the {@link Optional}.
  @param <T> Type of the element inside the {@link Optional}
  
  @return a new instance of {@link OptionalJsonSerializer}