*
* @param itemStates item state source iterator.
* @return iterator over reference property states.
*/
private Iterator filterReferenceProperties(Iterator itemStates) {
return new FilterIterator(itemStates, new Predicate() {
public boolean evaluate(Object object) {
ItemState state = (ItemState) object;
if (!state.isNode()) {
PropertyState prop = (PropertyState) state;
return prop.getType() == PropertyType.REFERENCE;