This code:
class RawStringIterator { java.util.Stack stateStack = new java.util.Stack(); RawStringIterator(RawStrin
You have very little choice but to ignore it.
Whilst not directly relevant (because you're not writing a clone() method), this entry in the Java Generics FAQ makes good reading (as does the whole FAQ!)
clone()