List<PropertyData> refDatas = transactionableManager.getReferencesData(identifier, true);
List<PropertyImpl> refs = new ArrayList<PropertyImpl>(refDatas.size());
for (int i = 0, length = refDatas.size(); i < length; i++)
{
PropertyData data = refDatas.get(i);
ItemState state = changesLog.getItemState(data.getIdentifier());
if (state != null)
{
if (state.isDeleted())
{
// if the Property was deleted skip it for now
continue;
}
// otherwise use transient data
data = (PropertyData)state.getData();
}
NodeData parent = (NodeData)getItemData(data.getParentIdentifier());
// if parent exists check for read permissions, otherwise the parent was deleted in another session.
if (parent != null)