TypeDfaState (int variableIndex) { if (variableIndex == 0 || myProhibitedCachingVars.get(variableIndex)) { return this; } BitSet newProhibitedVars = (BitSet)myProhibitedCachingVars.clone(); newProhibitedVars.set(variableIndex, true); return new TypeDfaState(myVarTypes, newProhibitedVars); }