code: void insert(Edge<T, S> edge) {
          if (edges.containsKey(edge.getStartItem()))
              throw new IllegalArgumentException("Item " + edge.getStartItem()
                  + " already exists in node " + toString());
          edges.put(edge.getStartItem(), edge);
      }
docs: Inserts the given edge as a child of this node. The edge must not already
  exist as child or an IllegalArgumentException will be thrown.
  
  @param edge The edge to be inserted.
  @throws IllegalArgumentException This is thrown when the edge already exists as an out bound
  edge of this node.