stale = true;
NodeId id = getId();
Path path = id.getPath();
Iterator propertyIds = new TransformIterator(new FilterIterator(itemInfos.iterator(),
new Predicate() {
public boolean evaluate(Object object) {
return object instanceof PropertyInfo;
}
}),
new Transformer() {
public Object transform(Object input) {
PropertyInfo info = (PropertyInfo) input;
return info.getId();
}});
Iterator childInfos = new TransformIterator(itemInfos.iterator(), new Transformer(){
public Object transform(Object input) {
ItemInfo info = (ItemInfo) input;
Name name = info.getPath().getNameElement().getName();
return new ChildInfoImpl(name, null, Path.INDEX_DEFAULT);
}});