public function getPropertiesByPath($absPaths)
{
// list of nodes to fetch
$nodemap = array();
// ordered list of what to return
$returnmap = array();
foreach ($absPaths as $path) {
list($name, $nodep) = $this->getNodePath($path);
if (!isset($nodemap[$nodep])) {
$nodemap[$nodep] = $nodep;
}
$returnmap[$path] = array('name' => $name, 'path' => $nodep);
}
$nodes = $this->getNodesByPath($nodemap);
$properties = array();
foreach ($returnmap as $key => $data) {
if (isset($nodes[$data['path']]) && $nodes[$data['path']]->hasProperty($data['name'])) {
$properties[$key] = $nodes[$data['path']]->getProperty($data['name']);
}
}
return new ArrayIterator($properties);
}