def new(*args, &block)
      if @preparsed && @preparsed.length > 0
        return @preparsed.pop.finish_initialization(*args, &block)
      end
      # Custom controls don't always need to be pure java, but oh well...
      become_java! if @filename

      # like new, without initialize
      ctrl = allocate

      ctrl.initialize_controller(DEFAULT_SETTINGS.merge({root_dir: @fxml_root_dir || fxml_root,
            filename: @filename}),
        *args, &block) if @filename

      # return the controller
      ctrl
    end
def new(*args, &block)
      if @preparsed && @preparsed.length > 0
        return @preparsed.pop.finish_initialization(*args, &block)
      end
      # Custom controls don't always need to be pure java, but oh well...
      become_java! if @filename

      # like new, without initialize
      ctrl = allocate

      ctrl.initialize_controller(DEFAULT_SETTINGS.merge({root_dir: @fxml_root_dir || fxml_root,
            filename: @filename}),
        *args, &block) if @filename

      # return the controller
      ctrl
    end
This is the default override for custom controls
 Normal FXML controllers will use Control#new