class ServerManagementBrowserPresenter {

    public void onDelete( @Observes final ServerInstanceDeleted serverInstanceDeleted ) {
        if ( serverInstanceDeleted != null &&
                serverInstanceDeleted.getServerInstanceId() != null &&
                serverTemplatePresenter.getCurrentServerTemplate() != null ) {
            final String deletedServerInstanceId = serverInstanceDeleted.getServerInstanceId();
            for ( final ServerInstanceKey serverInstanceKey : serverTemplatePresenter.getCurrentServerTemplate().getServerInstanceKeys() ) {
                if ( deletedServerInstanceId.equals( serverInstanceKey.getServerInstanceId() ) ) {
                    refreshList( new ServerTemplateListRefresh( serverTemplatePresenter.getCurrentServerTemplate().getId() ) );
                    break;
                }
            }
        } else {
            logger.warn( "Illegal event argument." );
        }
    }

    @Inject public  ServerManagementBrowserPresenter( final Logger logger,
                                             final View view,
                                             final ServerNavigationPresenter navigationPresenter,
                                             final ServerTemplatePresenter serverTemplatePresenter,
                                             final ServerEmptyPresenter serverEmptyPresenter,
                                             final ServerContainerEmptyPresenter serverContainerEmptyPresenter,
                                             final ContainerPresenter containerPresenter,
                                             final RemotePresenter remotePresenter,
                                             final Caller<SpecManagementService> specManagementService,
                                             final Event<ServerTemplateSelected> serverTemplateSelectedEvent,
                                             final Event<NotificationEvent> notification );

}