}
// remove properties not in the set
PropertyIterator pIter = node.getProperties();
while (pIter.hasNext()) {
Property p = pIter.nextProperty();
String propName = p.getName();
if (!PROTECTED_PROPERTIES.contains(propName)
&& !ni.props.containsKey(propName)
&& !saveProperties.contains(p.getPath())) {
try {