/** * Creates a new child Metadata object with this object as its parent, including provided parent * ID. * * @return a new child Metadata object */ public DocumentMetadata asParent(String id, ParentType parentType) { setProperty("id", id); FlexibleParameters newParameters = new FlexibleParameters(); for (String key : parameters.getKeys()) { newParameters.setParameter("parent_" + key, parameters.getParameterValues(key)); } newParameters.setParameter("parentType", parentType.name().toLowerCase()); return new DocumentMetadata(newParameters); }