class ImportsWidgetPresenter implements ImportsWidgetView.Presenter,
                                               IsWidget {

    @Override
    public void setContent(final AsyncPackageDataModelOracle dmo,
                           final Imports importTypes,
                           final boolean isReadOnly) {
        this.dmo = checkNotNull("dmo",
                                dmo);
        this.importTypes = checkNotNull("importTypes",
                                        importTypes);

        getInternalFactTypes().clear();
        getExternalFactTypes().clear();
        getModelFactTypes().clear();

        //Get list of types within the package
        for (String importType : dmo.getInternalFactTypes()) {
            getInternalFactTypes().add(new Import(importType.replaceAll("\\$",
                                                                        ".")));
        }

        //Get list of potential imports
        for (String importType : dmo.getExternalFactTypes()) {
            getExternalFactTypes().add(new Import(importType.replaceAll("\\$",
                                                                        ".")));
        }

        //Remove internal imports from model's imports (this should never be the case, but it exists "in the wild")
        getModelFactTypes().addAll(importTypes.getImports());
        getModelFactTypes().removeAll(getInternalFactTypes());

        //Remove external imports that have already been imported
        getExternalFactTypes().removeAll(getModelFactTypes());

        view.setContent(getInternalFactTypes(),
                        getExternalFactTypes(),
                        getModelFactTypes(),
                        isReadOnly);
        view.updateRenderedColumns();
    }

    public  ImportsWidgetPresenter();
    @Inject public  ImportsWidgetPresenter(final ImportsWidgetView view,
                                  final Event<ImportAddedEvent> importAddedEvent,
                                  final Event<ImportRemovedEvent> importRemovedEvent);

}