class ActiveContextManager {

    public void initActiveContext(final String path) {
        view.showBusyIndicator(CommonConstants.INSTANCE.Loading());

        explorerService.call(new RemoteCallback<WorkspaceProject>() {
            @Override
            public void callback(final WorkspaceProject workspaceProject) {
                explorerService.call(new RemoteCallback<ProjectExplorerContent>() {
                                         @Override
                                         public void callback(final ProjectExplorerContent projectExplorerContent) {
                                             if (workspaceProject != null) {
                                                 WorkspaceProjectContextChangeEvent t = new WorkspaceProjectContextChangeEvent(workspaceProject,
                                                                                                                               workspaceProject.getMainModule());
                                                 contextChangeEvent.fire(t);
                                             }
                                             contentCallback.callback(projectExplorerContent);
                                         }
                                     },
                                     new HasBusyIndicatorDefaultErrorCallback(view)).getContent(path,
                                                                                                activeOptions.getOptions());
            }
        }).resolveProject(path);
    }

    public  ActiveContextManager();
    @Inject public  ActiveContextManager(final ActiveContextItems activeContextItems,
                                final ActiveContextOptions activeOptions,
                                final Caller<ExplorerService> explorerService,
                                final Event<WorkspaceProjectContextChangeEvent> contextChangeEvent);

}