Why are we bypassing hashing here?  If we can't hash, can we avoid the cost of the hashes object altogether and simply not create it?  That may mean you need to *not* extend from RawText here, or you need to expose a method that lets you override the construction of the hashes table and instead returns null.

FWIW, you can probably still hash here.  You just have to collapse multiple spaces into a single one when you compute the hash value.