public CreateNewPackagePresenterImpl(CreateNewPackageView view) {
    super(view);
    this.view = view;
    this.content_dir = null;
    directoryChooser = new DirectoryChooser();
    fileChooser = new FileChooser();

    fileChooser
        .getExtensionFilters()
        .add(new FileChooser.ExtensionFilter("Package Description (*.json)", "*.json"));
    fileChooser
        .getExtensionFilters()
        .add(new FileChooser.ExtensionFilter("All files (*.*)", "*.*"));

    InputStream defaultRulesStream =
        Thread.currentThread()
            .getContextClassLoader()
            .getResourceAsStream("rules/default-rules.xml");

    PackageDescriptionRulesBuilder builder = new JaxbPackageDescriptionRulesBuilder();

    RulesSpec packageDescriptionPrefs = builder.buildPackageDescriptionRules(defaultRulesStream);

    ruleProperties = new SystemPropertyPreferencesRulePropertiesManager();
    ruleProperties.init(packageDescriptionPrefs);

    creator = new GeneralPackageDescriptionCreator(packageDescriptionPrefs);

    view.setPresenter(this);
    view.promptForUndefinedProperties(ruleProperties);
    bind();
  }