code: BitSet toEdgeVector(final int[] path) {
          final BitSet incidence = new BitSet(edges.size());
          int len = path.length - 1;
          for (int i = 0; i < len; i++) {
              incidence.set(indexOfEdge(path[i], path[i + 1]));
          }
          return incidence;
      }
docs: Convert a path of vertices to a binary vector of edges. It is possible to
  convert the vector back to the path using {@see #edge}.
  
  @param path the vertices which define the cycle
  @return vector edges which make up the path
  @see #indexOfEdge(int, int)