private void tighten() {
		nextIndex = 0;
		for (int i = 0; i < capacity; i++) {
			if (edges[i] != null) {
				if (i > nextIndex) {
					edges[nextIndex] = edges[i];
					previousEdgeWithSameFrom[nextIndex] = previousEdgeWithSameFrom[i];
					previousEdgeWithSameTo[nextIndex] = previousEdgeWithSameTo[i];
					nextEdgeWithSameFrom[nextIndex] = nextEdgeWithSameFrom[i];
					nextEdgeWithSameTo[nextIndex] = nextEdgeWithSameTo[i];
					edgeIndices.remove(edges[i].key());
					edgeIndices.put(edges[i].key(), nextIndex);
					edges[i] = null;
					previousEdgeWithSameFrom[i] = null;
					previousEdgeWithSameTo[i] = null;
					nextEdgeWithSameFrom[i] = null;
					nextEdgeWithSameTo[i] = null;
				}
				nextIndex++;
			}
		}
	}
Either compacts the edge set by removing vacant positions if there are
	  many or grows the edge set so that there is additional space.
Ghidra/Framework/Generic/src/main/java/ghidra/util/graph/EdgeSet.java