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()); }