// use temp set to avoid ConcurrentModificationException
HashSet tmp = new HashSet(thisState.getPropertyNames());
for (Iterator iter = tmp.iterator(); iter.hasNext();) {
QName propName = (QName) iter.next();
// remove the property entry
thisState.removePropertyName(propName);
// remove property
PropertyId propId = new PropertyId(thisState.getNodeId(), propName);
itemMgr.getItem(propId).setRemoved();
}