@Override
	public boolean addTransition(SetOfCharsSyntax chars,int src,int dest)
	{
		if(src >= stateCount() || dest >= stateCount()) return false;
		if(charRangeNumbers.containsKey(chars) &&
				   transitions.containsKey(src) &&
				   transitions.get(src).containsKey(chars)) return false;
		if(!charRangeNumbers.containsKey(chars))
		{
			if(nextNewCharRangeNumber == charRanges.length) lengthenCharRangeArray();
			charRangeNumbers.put(chars,nextNewCharRangeNumber);
			charRanges[nextNewCharRangeNumber] = chars;
			nextNewCharRangeNumber++;
		}
		if(!transitions.containsKey(src)) transitions.put(src,new Hashtable<SetOfCharsSyntax,Integer>());
		transitions.get(src).put(chars,dest);
		return true;		
	}