class PopulatedLibraryScreen {

    @PostConstruct
    public void setup() {
        view.init(this);
        if (userCanCreateProjects()) {
            addProjectButtonPresenter.enableTrySamples();
            addProjectButtonPresenter.enableImportProject();
            view.addAction(addProjectButtonPresenter.getView().getElement());
        }

        libraryService.call((RemoteCallback<LibraryInfo>) this::setupLibrary)
                .getLibraryInfo(getOrganizationalUnit());
    }

    @Inject public  PopulatedLibraryScreen(final View view,
                                  final LibraryPlaces libraryPlaces,
                                  final Caller<LibraryService> libraryService,
                                  final ProjectController projectController,
                                  final WorkspaceProjectContext projectContext,
                                  final ManagedInstance<TileWidget<WorkspaceProject>> tileWidgets,
                                  final AddProjectButtonPresenter addProjectButtonPresenter,
                                  final Event<ProjectCountUpdate> projectCountUpdateEvent);

}