class OptionalShouldBePresentWithValue extends BasicErrorMessageFactory {

  public static <T> ErrorMessageFactory shouldBePresentWithValue(final Optional<T> actual, final Object value) {<FILL_FUNCTION_BODY>}

  public static <T> ErrorMessageFactory shouldBePresentWithValue(final Object value) {
    return new OptionalShouldBePresentWithValue(
                                                "Expecting Optional to contain %s but contained nothing (absent Optional)",
                                                value);
  }

  private OptionalShouldBePresentWithValue(final String format, final Object... arguments) {
    super(format, arguments);
  }

}

    return new OptionalShouldBePresentWithValue("%nExpecting Optional to contain value %n  %s%n but contained %n  %s",
                                                value, actual.get());
  
<methods>public transient void <init>(java.lang.String, java.lang.Object[]) ,public java.lang.String create(org.assertj.core.description.Description, org.assertj.core.presentation.Representation) ,public java.lang.String create(org.assertj.core.description.Description) ,public java.lang.String create() ,public boolean equals(java.lang.Object) ,public int hashCode() ,public java.lang.String toString() <variables>protected final non-sealed java.lang.Object[] arguments,protected final non-sealed java.lang.String format,org.assertj.core.error.MessageFormatter formatter