if (element == null) {
element = new Element(newElement.getElementType());
}
List<Element> knownElements = new ArrayList<Element>();
knownElements.add(element);
element.assign(newElement, knownElements, elementDao);
if (logger.isDebugEnabled()) {
element.print(0, "Element after assign() before save()");
}
element = elementDao.save(element);
// invalidate cached element