@Override public void accept(final Conclusion conclusion, final TracingInference.Visitor<Boolean> inferenceVisitor) { final Set<TracingInference> seenInferences = new HashSet<TracingInference>(); // should be empty anyways innferencesToDo_.clear(); addToQueue(conclusion, seenInferences); // this visitor visits all premises and putting them into the todo queue TracingInferencePremiseVisitor<?> premiseVisitor = new TracingInferencePremiseVisitor<Void>( new DummyConclusionVisitor<Void>() { @Override protected Void defaultVisit(Conclusion newConclusion) { addToQueue(newConclusion, seenInferences); return null; } }, new DummyElkAxiomVisitor<Void>()); for (;;) { // take the first element final TracingInference next = innferencesToDo_.poll(); if (next == null) { break; } // user visitor if (next.accept(inferenceVisitor)) { // visiting premises next.accept(premiseVisitor); } } }
@Override public void accept(final Conclusion conclusion, final TracingInference.Visitor<Boolean> inferenceVisitor) { final Set<TracingInference> seenInferences = new HashSet<TracingInference>(); // should be empty anyways innferencesToDo_.clear(); addToQueue(conclusion, seenInferences); // this visitor visits all premises and putting them into the todo queue TracingInferencePremiseVisitor<?> premiseVisitor = new TracingInferencePremiseVisitor<Void>( new DummyConclusionVisitor<Void>() { @Override protected Void defaultVisit(Conclusion newConclusion) { addToQueue(newConclusion, seenInferences); return null; } }, new DummyElkAxiomVisitor<Void>()); for (;;) { // take the first element final TracingInference next = innferencesToDo_.poll(); if (next == null) { break; } // user visitor if (next.accept(inferenceVisitor)) { // visiting premises next.accept(premiseVisitor); } } }
@Override public void accept(final Conclusion conclusion, final TracingInference.Visitor<Boolean> inferenceVisitor) { final Set<TracingInference> seenInferences = new HashSet<TracingInference>(); // should be empty anyways innferencesToDo_.clear(); addToQueue(conclusion, seenInferences); // this visitor visits all premises and putting them into the todo queue TracingInferencePremiseVisitor<?> premiseVisitor = new TracingInferencePremiseVisitor<Void>( new DummyConclusionVisitor<Void>() { @Override protected Void defaultVisit(Conclusion newConclusion) { addToQueue(newConclusion, seenInferences); return null; } }, new DummyElkAxiomVisitor<Void>()); for (;;) { // take the first element final TracingInference next = innferencesToDo_.poll(); if (next == null) { break; } // user visitor if (next.accept(inferenceVisitor)) { // visiting premises next.accept(premiseVisitor); } } }