code: private void add(final PathEdge edge) {
          int u = edge.either();
          int v = edge.other(u);
          if (rank[u] < rank[v])
              graph[u].add(edge);
          else
              graph[v].add(edge);
      }
docs: Add a path-edge to the path-graph. Edges are only added to the vertex of
  lowest rank (see. constructor).
  
  @param edge path edge