docs: private void updateLock(CmsClientSitemapEntry entry) {
  
          LockIcon icon = LockIcon.NONE;
          String iconTitle = null;
          if (entry.hasBlockingLockedChildren()) {
              icon = LockIcon.CLOSED;
              iconTitle = Messages.get().key(Messages.GUI_BLOCKING_LOCKED_CHILDREN_0);
          }
          if (!entry.getLock().isOwnedByUser()) {
              switch (entry.getLock().getLockType()) {
                  case EXCLUSIVE:
                  case INHERITED:
                  case TEMPORARY:
                      icon = LockIcon.CLOSED;
                      break;
                  case SHARED_EXCLUSIVE:
                  case SHARED_INHERITED:
                      icon = LockIcon.SHARED_CLOSED;
                      break;
                  default:
              }
          } else {
              switch (entry.getLock().getLockType()) {
                  case EXCLUSIVE:
                  case INHERITED:
                  case TEMPORARY:
                      icon = LockIcon.OPEN;
                      break;
                  case SHARED_EXCLUSIVE:
                  case SHARED_INHERITED:
                      icon = LockIcon.SHARED_OPEN;
                      break;
                  default:
              }
          }
          if (entry.getLock().getLockOwner() != null) {
              iconTitle = org.opencms.gwt.client.Messages.get().key(
                  org.opencms.gwt.client.Messages.GUI_LOCK_OWNED_BY_1,
                  entry.getLock().getLockOwner());
          }
  
          getListItemWidget().setLockIcon(icon, iconTitle);
      }