code: public void addEdges(final Integer stmt, final TableProtoEdge... newEdges) {
          if (stmt == null) {
              throw new InvalidArgument("stmt", stmt);
          }
  
          if (newEdges == null || newEdges.length <= 0) {
              throw new InvalidArgument("newEdges", newEdges);
          }
  
          Set<Integer> edges = stmtEdges.get(stmt);
          if (edges == null) {
              edges = new HashSet<Integer>();
              stmtEdges.put(stmt, edges);
          }
  
          for (final TableProtoEdge newEdge : newEdges) {
              int idx = protoEdges.size();
              protoEdges.add(newEdge);
  
              Integer existingEdge = visited.get(newEdge);
              if (existingEdge != null) {
                  getEquivalences().put(idx, existingEdge);
              } else {
                  visited.put(newEdge, idx);
                  getEquivalences().put(idx, getEquivalences().size());
              }
  
              edges.add(idx);
              Set<Integer> stmts = new LinkedHashSet<Integer>();
              stmts.add(stmt);
              edgeStmts.put(idx, stmts);
          }
      }
docs: Adds 1 or more {@link TableProtoEdge proto edges} to the table and
  associates them with the supporting {@link TableStatement statement}
  index.
  <p>
  There must be at least one {@link TableProtoEdge proto edge} to
  associate to a statement otherwise an exception is thrown.
  </p>
  
  @param stmt the {@link TableStatement statement} index to associate the
  {@link TableProtoEdge proto edges} to, which cannot be null
  @param newEdges the {@link TableProtoEdge proto edges} array to add to
  the table, which cannot be null or have a length less than 1
  @throws InvalidArgument May be thrown if <tt>stmt</tt> is <tt>null</tt>,
  <tt>newEdges</tt> is null, or <tt>newEdges</tt> is <tt> <= 0</tt>