void build() { for (SNode cd : myLanguage.getConceptDeclarations()) { if (!(cd.getModel() != null && cd.getParent() == null)) continue; if (!SNodeUtil.isDefaultSubstitutable(cd)) { continue; } String fqName = NameUtil.nodeFQName(cd); for (String ancestor : getAncestorsNames_internal(fqName)) { Set<String> addTo = mySubconcepts.get(ancestor); if (addTo == null) { addTo = new HashSet<String>(); mySubconcepts.put(ancestor, addTo); } addTo.add(fqName); } } }