public void processConcept(I_GetConceptData concept) throws Exception { // get origins I_Path architectonicPath = termFactory.getPath(ArchitectonicAuxiliary.Concept.ARCHITECTONIC_BRANCH.getUids()); I_Position latestOnArchitectonicPath = termFactory.newPosition(architectonicPath, Integer.MAX_VALUE); origins.add(latestOnArchitectonicPath); Set<I_Position> branchPositions = new HashSet<I_Position>(); // TODO replace with passed in config... I_ConfigAceFrame config = Terms.get().getActiveAceFrameConfig(); // get all the concepts/paths/positions for the specified branches if (branches == null) { branchPositions = null; } else { for (ConceptDescriptor branch : branches) { I_GetConceptData currentConcept = branch.getVerifiedConcept(); I_Path currentPath = termFactory.getPath(currentConcept.getUids()); I_Position currentPosition = termFactory.newPosition(currentPath, Integer.MAX_VALUE); branchPositions.add(currentPosition); } } // get latest IS-A relationships I_IntSet isARel = termFactory.newIntSet(); isARel.add( termFactory.getConcept(ArchitectonicAuxiliary.Concept.IS_A_REL.getUids()).getConceptId()); List<? extends I_RelTuple> results = concept.getDestRelTuples( null, isARel, new PositionSetReadOnly(branchPositions), config.getPrecedence(), config.getConflictResolutionStrategy()); if (results.size() > count) { String message = "Concept: " + concept + " has > 20 children."; getLog().info(message); htmlWriter.append(message); htmlWriter.append("<br>"); textWriter.append(concept.getUids().toString()); textWriter.newLine(); } termFactory.addUncommitted(concept); }