code: @Override
    public void setupBindings() {
      super.setupBindings();
  
      editableArea.visibleProperty().bind(Bindings.and(field.editableProperty(),
          field.multilineProperty()));
      editableField.visibleProperty().bind(Bindings.and(field.editableProperty(),
          field.multilineProperty().not()));
      readOnlyLabel.visibleProperty().bind(field.editableProperty().not());
  
      editableField.textProperty().bindBidirectional(field.userInputProperty());
      editableArea.textProperty().bindBidirectional(field.userInputProperty());
      readOnlyLabel.textProperty().bind(field.userInputProperty());
      editableField.promptTextProperty().bind(field.placeholderProperty());
      editableArea.promptTextProperty().bind(field.placeholderProperty());
  
      editableArea.managedProperty().bind(editableArea.visibleProperty());
      editableField.managedProperty().bind(editableField.visibleProperty());
    }
docs: {@inheritDoc}