private final IntermediateGraphContext igc;
public IntermediateGraphFactory(IntermediateLineContext ilc) {
//first, populate the map.
ListenableDirectedGraph<AbstractIntermediate, IntermediateEdge> intermediateGraph = new ListenableDirectedGraph<AbstractIntermediate, IntermediateEdge>(IntermediateEdge.class);
this.igc = new IntermediateGraphContext(intermediateGraph);
this.ilc = ilc;
Set<AbstractIntermediate> lines = new HashSet<AbstractIntermediate>(ilc.getIntermediate().values());
for(AbstractIntermediate line : lines) {
line.accept(this);