web/play-java-forms/src/main/java/play/data/Form.java
public Form<T> fill(T value) {
    if (value == null) {
      throw new RuntimeException("Cannot fill a form with a null value");
    }
    return new Form<>(
        rootName,
        backedType,
        new HashMap<>(),
        new HashMap<>(),
        new ArrayList<>(),
        Optional.ofNullable(value),
        groups,
        messagesApi,
        formatters,
        validatorFactory,
        config,
        lang,
        directFieldAccess);
  }
public Form<T> fill(T value) {
    if (value == null) {
      throw new RuntimeException("Cannot fill a form with a null value");
    }
    return new Form<>(
        rootName,
        backedType,
        new HashMap<>(),
        new HashMap<>(),
        new ArrayList<>(),
        Optional.ofNullable(value),
        groups,
        messagesApi,
        formatters,
        validatorFactory,
        config,
        lang,
        directFieldAccess);
  }
public Form < T > fill ( T value ) { if ( value == null ) { throw new RuntimeException ( "Cannot fill a form with a null value" ) ; } return new Form <> ( rootName , backedType , new HashMap <> ( ) , new HashMap <> ( ) , new ArrayList <> ( ) , Optional . ofNullable ( value ) , groups , messagesApi , formatters , validatorFactory , config , lang , directFieldAccess ) ; }
Populates this form with an existing value, used for edit forms.

@param value existing value of type <code>T</code> used to fill this form
@return a copy of this form filled with the new data
Populates this form with an existing value used for edit forms .