public State<T> extend(byte b) {
	if (this.edgeList.get(b) != null)
	    return this.edgeList.get(b);
	State<T> nextState = new State<T>(this.depth + 1);
	this.edgeList.put(b, nextState);
	return nextState;
    }