public CFBamJavaFXBlobTypeAddForm(
      ICFFormManager formManager,
      ICFBamJavaFXSchema argSchema,
      ICFBamBlobTypeObj argFocus,
      ICFFormClosedCallback closeCallback,
      boolean argAllowSave) {
    super();
    final String S_ProcName = "construct-schema-focus";
    allowSave = argAllowSave;
    if (formManager == null) {
      throw CFLib.getDefaultExceptionFactory()
          .newNullArgumentException(getClass(), S_ProcName, 1, "formManager");
    }
    cfFormManager = formManager;
    formClosedCallback = closeCallback;
    if (argSchema == null) {
      throw CFLib.getDefaultExceptionFactory()
          .newNullArgumentException(getClass(), S_ProcName, 2, "argSchema");
    }
    // argFocus is optional; focus may be set later during execution as
    // conditions of the runtime change.
    javafxSchema = argSchema;
    javaFXFocus = argFocus;
    if ((argFocus != null) && (!argFocus.getIsNew())) {
      argFocus = (ICFBamBlobTypeObj) argFocus.read(true);
      javaFXFocus = argFocus;
    }
    javafxAddPane = argSchema.getBlobTypeFactory().newAddPane(cfFormManager, argFocus);

    scrollMenu = new ScrollPane();
    scrollMenu.setVbarPolicy(ScrollBarPolicy.NEVER);
    scrollMenu.setHbarPolicy(ScrollBarPolicy.AS_NEEDED);
    scrollMenu.setFitToHeight(true);
    scrollMenu.setContent(getHBoxMenu());

    setTop(scrollMenu);
    setCenter(javafxAddPane);
  }