code: public void registerContentDefinition(CmsContentDefinition definition) {
  
          getWidgetService().addConfigurations(definition.getConfigurations());
          CmsType baseType = definition.getTypes().get(definition.getEntityTypeName());
          m_entityBackend.registerTypes(baseType, definition.getTypes());
          for (CmsEntity entity : definition.getEntities().values()) {
              CmsEntity previousValue = m_entityBackend.getEntity(entity.getId());
              if (previousValue != null) {
                  m_entityBackend.changeEntityContentValues(previousValue, entity);
              } else {
                  m_entityBackend.registerEntity(entity);
                  m_registeredEntities.add(entity.getId());
              }
          }
          for (Map.Entry<String, CmsComplexWidgetData> entry : definition.getComplexWidgetData().entrySet()) {
              String attrName = entry.getKey();
              CmsComplexWidgetData widgetData = entry.getValue();
              getWidgetService().registerComplexWidgetAttribute(
                  attrName,
                  widgetData.getRendererName(),
                  widgetData.getConfiguration());
          }
      }
docs: Registers the given content definition.<p>
  
  @param definition the content definition