@Override public Element call(Document document, Collection collection) { Element element = createElement(document, TAG); append(element, Tag.id, collection.getId()); append(element, Tag.name, collection.getName()); append(element, Tag.qname, collection.getQname()); append(element, Tag.description, collection.getDescription()); append(element, Tag.owner_id, collection.getOwnerId()); List<String> datasets = collection.getDataSetQnames(); if (datasets != null) { Element datasetsElement = createElement(document, Tag.datasets); element.appendChild(datasetsElement); for (String dataset : datasets) { append(datasetsElement, Tag.dataset, dataset); } } append(element, Tag.deleted, collection.getDeleted()); return element; }