private Set<NODE> getPathValue(MappedPath path, ID subject, PropertiesMap properties, UID context) { if (configuration.allowRead(path)) { Set<NODE> values; MappedProperty<?> property = path.getMappedProperty(); if (property.isMixin()) { values = Collections.<NODE> singleton(subject); } else if (path.size() > 0) { values = findPathValues(subject, path, 0, properties, context); } else { values = new LinkedHashSet<NODE>(); } if (values.isEmpty()) { for (UID uri : property.getDefaults()) { values.add(uri); } } return values; } return Collections.emptySet(); }