protected void merge(ContentTypeImpl typeImpl, ContentType contentType)
     throws IllegalArgumentException {
   typeImpl.setContentTypeID(contentType.getContentTypeID());
   typeImpl.setCreationDate(contentType.getCreationDate());
   typeImpl.setPrimaryFieldName(contentType.getPrimaryFieldName());
   typeImpl.setDisplayName(contentType.getDisplayName());
   typeImpl.setFromPersistentStorage(
       contentType instanceof PersistableContentType
           ? ((PersistableContentType) contentType).isFromPersistentStorage()
           : false);
   typeImpl.setLastModifiedDate(contentType.getLastModifiedDate());
   typeImpl.setEntityTagValue(contentType.getEntityTagValue());
   typeImpl.setParent(contentType.getParent());
   typeImpl.getMutableFieldDefs().clear();
   typeImpl.getMutableFieldDefs().addAll(contentType.getOwnFieldDefs().values());
   typeImpl.getMutableRepresentationDefs().clear();
   typeImpl.getMutableRepresentationDefs().addAll(contentType.getRepresentationDefs().values());
   typeImpl.getMutableStatuses().clear();
   typeImpl.getMutableStatuses().addAll(contentType.getStatuses().values());
   typeImpl.setRepresentations(contentType.getRepresentations());
 }