private void processContext( AccessDetailCollector collector, AccessContext context, ArtifactProxy artifactData, Scope scope) throws OseeCoreException { collectRestrictions(collector, artifactData, context.getAccessRules(), scope); Collection<HierarchyRestriction> restrictions = context.getHierarchyRestrictions(); Collection<ArtifactProxy> proxyHierarchy = artifactData.getHierarchy(); for (HierarchyRestriction hierarchy : restrictions) { XArtifactMatcher artifactRef = hierarchy.getArtifactMatcherRef(); if (matcher.matches(artifactRef, proxyHierarchy)) { String tag = String.format("childOf-%s", artifactRef.getName()); Scope child = scope.clone().addSubPath(tag); collectRestrictions(collector, artifactData, hierarchy.getAccessRules(), child); } } }