switch to char[] based caching to avoid woodstox's getCharOffset() issue