/**
   * Обновление данных о состоянии модуля (в объекте <code>JepScopeStack</code>, отражающем
   * состояние приложения).
   *
   * @param workstate новое рабочее состояние
   */
  protected void updateScope(WorkstateEnum workstate) {
    JepScope scope = JepScopeStack.instance.peek();
    // Только в случае, если действительно изменяется текущая область видимости модулей
    // Для поэлементного сравнение массивов, а не по ссылкам в памяти, следует использовать метод
    // equals утилитарного класса Arrays
    if (scopes != null
        && !Arrays.equals(
            scope.getModuleIds(), scopes)) { // и указаны родительский и дочерние модули ...
      if (scope.isMainActive()) { // Если текущий модуль является родительским ...
        scope.setModuleIds(scopes);
        scope.getModuleStates()[0] =
            workstate; // Обновление рабочего состояния родительского модуля.

        // Если текущий модуль на данном уровне иерархии является дочерним, но сам содержит дочерние
        // модули, то создадим новый уровень иерархии
        // модулей и добавим его в стек (в объект JepScopeStack, отражающий состояние приложения).
      } else {
        JepScope newScope = new JepScope(scopes);
        newScope.getModuleStates()[0] = workstate;
        JepScopeStack.instance.push(newScope);
        eventBus
            .adjustExitScope(); // Выполним действия по настройке перехода на вышележащий уровень
        // иерархии (на родительский уровень).

        // Обработчик установки текущей записи устанавливает в JepScopeStack заначение первичного
        // ключа текущего модуля.
        eventBus.setCurrentRecord(currentRecord);
      }
      // Уведомим приложение об изменении состояния модуля (например для скрытия/отображения вкладок
      // перехода на родительские/дочерние модули).
      eventBus.updateScope(new UpdateScopeEvent(JepScopeStack.instance.peek()));
    }
  }
 /**
  * Установка данных о состоянии модуля в исходное положение (скрытие вкладок перехода на дочерние
  * модули).
  */
 protected void resetScope() {
   JepScope scope = JepScopeStack.instance.peek();
   scope.collapseIfMain();
   eventBus.updateScope(new UpdateScopeEvent(scope));
 }