class BaseViewPresenter {

    void doContentCallback(final ProjectExplorerContent content) {

        boolean buildSelectedModule = false;

        boolean signalChange = false;

        if (activeContextItems.setupActiveProject(content)) {
            signalChange = true;
        }

        if (activeContextItems.setupActiveModule(content)) {
            signalChange = true;
            buildSelectedModule = true;
        }

        boolean folderChange = activeContextItems.setupActiveFolderAndPackage(
                content);
        if (signalChange || folderChange) {
            activeContextItems.fireContextChangeEvent();
        }

        if (buildSelectedModule) {
            buildModule(activeContextItems.getActiveModule());
        }

        setActiveContent(content.getFolderListing());

        baseView.getExplorer()
                .clear();
        baseView.setContent(activeContextItems.getActiveModule(),
                            activeContextItems.getActiveContent(),
                            content.getSiblings());

        if (activeContextItems.getActiveFolderItem() == null) {
            activeContextItems.setupActiveFolderAndPackage(content);
        }
        baseView.hideBusyIndicator();
    }

    public  BaseViewPresenter(BaseViewImpl baseView);

}