public FaunusEdge addEdge(final Direction direction, final FaunusEdge edge) { if (OUT.equals(direction)) { List<Edge> edges = this.outEdges.get(edge.getLabel()); if (null == edges) { edges = new ArrayList<Edge>(); this.outEdges.put(edge.getLabel(), edges); } edges.add(edge); } else if (IN.equals(direction)) { List<Edge> edges = this.inEdges.get(edge.getLabel()); if (null == edges) { edges = new ArrayList<Edge>(); this.inEdges.put(edge.getLabel(), edges); } edges.add(edge); } else throw ExceptionFactory.bothIsNotSupported(); return edge; }