code: private CmsLock internalSiblingLock(CmsLock exclusiveLock, String siblingName) {
  
          CmsLock lock = null;
          if (!exclusiveLock.getSystemLock().isUnlocked()) {
              lock = new CmsLock(
                  siblingName,
                  exclusiveLock.getUserId(),
                  exclusiveLock.getProject(),
                  exclusiveLock.getSystemLock().getType());
          }
          if ((lock == null) || !exclusiveLock.getEditionLock().isNullLock()) {
              CmsLockType type = CmsLockType.SHARED_EXCLUSIVE;
              if (!getParentLock(siblingName).isNullLock()) {
                  type = CmsLockType.SHARED_INHERITED;
              }
              if (lock == null) {
                  lock = new CmsLock(siblingName, exclusiveLock.getUserId(), exclusiveLock.getProject(), type);
              } else {
                  CmsLock editionLock = new CmsLock(
                      siblingName,
                      exclusiveLock.getUserId(),
                      exclusiveLock.getProject(),
                      type);
                  lock.setRelatedLock(editionLock);
              }
          }
          return lock;
      }
docs: Returns a shared lock for the given excclusive lock and sibling.<p>
  
  @param exclusiveLock the exclusive lock to use (has to be set on a sibling of siblingName)
  @param siblingName the siblings name
  
  @return the shared lock