Reads the next non-whitespace node type without changing the state of the reader. If the next node type is whitespace, then all leading whitespace is consumed and discarded. The next node type is then returned, again without changing the state of the reader.