code: void onChangesOk() {
          boolean error = false;
  
          // Capture name changes
          String name = view.getItemName();
          if (name != null && !name.trim().isEmpty()) {
              if (!name.equals(navItem.getName())) {
                  navItem.setName(name);
                  view.setItemName(name);
                  String newPerspectiveI18n = getNewPerspectiveI18n();
                  itemNameFromPerspective = newPerspectiveI18n.equals(name);
              }
          } else {
              error = true;
              view.setItemNameError(error);
          }
  
          // Capture perspective changes
          if (!error && ItemType.PERSPECTIVE.equals(itemType) || ItemType.RUNTIME_PERSPECTIVE.equals(itemType)) {
              NavWorkbenchCtx navCtx = NavWorkbenchCtx.get(navItem);
              String oldPerspectiveId = navCtx.getResourceId();
              String newPerspectiveId = targetPerspectiveEditor.getPerspectiveId();
              if (newPerspectiveId != null && !newPerspectiveId.trim().isEmpty()) {
                  if (oldPerspectiveId != null && !oldPerspectiveId.equals(newPerspectiveId)){
                      navCtx.setResourceId(perspectiveId = newPerspectiveId);
                      navItem.setContext(navCtx.toString());
                  }
              } else {
                  error = true;
              }
              boolean isRuntimePerspective = perspectivePluginManager.isRuntimePerspective(newPerspectiveId);
              String newGroupId =  isRuntimePerspective ? targetPerspectiveEditor.getNavGroupId() : null;
              String oldGroupId = navCtx.getNavGroupId();
              if ((oldGroupId == null && newGroupId != null) || oldGroupId != null && !oldGroupId.equals(newGroupId)) {
                  navCtx.setNavGroupId(newGroupId);
                  navItem.setContext(navCtx.toString());
              }
          }
  
          // Process updates
          if (!error) {
              finishEdition();
              onItemUpdated();
          }
      }
docs: View actions