class ServerTemplatePresenter {

    public void onContainerSelect( @Observes final ContainerSpecSelected containerSpecSelected ) {
        if ( containerSpecSelected != null &&
                containerSpecSelected.getContainerSpecKey() != null &&
                containerSpecSelected.getContainerSpecKey().getServerTemplateKey() != null &&
                containerSpecSelected.getContainerSpecKey().getServerTemplateKey().getId() != null &&
                containerSpecSelected.getContainerSpecKey().getId() != null ) {
            view.selectContainer( containerSpecSelected.getContainerSpecKey().getServerTemplateKey().getId(),
                                  containerSpecSelected.getContainerSpecKey().getId() );
        } else {
            logger.warn( "Illegal event argument." );
        }
    }

    @Inject public  ServerTemplatePresenter( final Logger logger,
                                    final View view,
                                    final CopyPopupPresenter copyPresenter,
                                    final Caller<SpecManagementService> specManagementService,
                                    final Event<NotificationEvent> notification,
                                    final Event<AddNewContainer> addNewContainerEvent,
                                    final Event<ContainerSpecSelected> containerSpecSelectedEvent,
                                    final Event<ServerInstanceSelected> serverInstanceSelectedEvent,
                                    final Event<ServerTemplateListRefresh> serverTemplateListRefreshEvent );

}