Moved character comparison to CharacterUtilities.
Changes to iterator state are only done when a symbol is encountered.