code: public CmsResource createSibling(
          CmsRequestContext context,
          CmsResource source,
          String destination,
          List<CmsProperty> properties)
      throws CmsException {
  
          CmsDbContext dbc = m_dbContextFactory.getDbContext(context);
          CmsResource sibling = null;
          try {
              checkOfflineProject(dbc);
              sibling = m_driverManager.createSibling(dbc, source, destination, properties);
          } catch (Exception e) {
              dbc.report(
                  null,
                  Messages.get().container(Messages.ERR_CREATE_SIBLING_1, context.removeSiteRoot(source.getRootPath())),
                  e);
          } finally {
              dbc.clear();
          }
          return sibling;
      }
docs: Creates a new sibling of the source resource.<p>
  
  @param context the current request context
  @param source the resource to create a sibling for
  @param destination the name of the sibling to create with complete path
  @param properties the individual properties for the new sibling
  
  @return the new created sibling
  
  @throws CmsException if something goes wrong
  
  @see org.opencms.file.types.I_CmsResourceType#createSibling(CmsObject, CmsSecurityManager, CmsResource, String, List)