class Graph {

    public Graph sort(EdgeComparator comparator) {
        for (int u = 0; u < order; u++) {
            final Edge[] es = edges[u];

            // insertion sort as most atoms have small degree <= 4
            final int deg = degrees[u];
            for (int i = 1; i < deg; i++) {
                int j = i - 1;
                Edge e = es[i];
                while (j >= 0 && comparator.less(this, u, e, es[j])) {
                    es[j + 1] = es[j--];
                }
                es[j + 1] = e;
            }
        }
        return this;
    }

      Graph(int expSize);
      Graph(Graph org);

}