public State(int depth) {
	this.depth = depth;
	if (depth > THRESHOLD_TO_USE_SPARSE)
	    this.edgeList = new SparseEdgeList<T>();
	else
	    this.edgeList = new DenseEdgeList<T>();
	this.fail = null;
	this.outputs = new HashSet<T>();
    }