@Override public Map<String, InheritedProperty> getInheritedProps() { int segmentId = path.segmentCount(); if (segmentId > 1) { LocalArtefactAPI parentArtefactAPI = new LocalArtefactAPI(source.getParentFile(), path.withoutSegment(segmentId - 1), workspace); Map<String, InheritedProperty> inheritedProps = new HashMap<String, InheritedProperty>(); inheritedProps.putAll(parentArtefactAPI.getInheritedProps()); if (parentArtefactAPI.getProps() != null) { Map<String, Object> parentProp = parentArtefactAPI.getProps(); for (Map.Entry<String, Object> entry: parentProp.entrySet()) { InheritedProperty inhProp = new InheritedProperty(entry.getValue(), (parentArtefactAPI.source.isDirectory() ? ArtefactType.FOLDER : ArtefactType.PROJECT ), parentArtefactAPI.getName() ); inheritedProps.put(entry.getKey(), inhProp); } } return inheritedProps; } return new HashMap<String, InheritedProperty>(); }