private int nextNonBlankspace() throws IOException {
        while ((character = reader.read()) != -1) {
            col.incrementAndGet();
            
            switch (character) {
                case 0x0A : // new line
                    row.incrementAndGet();
                    col.set(-1);
                    continue;
                case 0x09 : // tab
                    col.addAndGet(TAB_SIZE - 1L);
                    continue;
                case 0x20 : // space
                case 0x0D : // return (ignore)
                    continue;
                default :
                    return character;
            }
        }
        
        throw unexpectedEndOfStreamException();
    }
Internal class that parses a stream of JSON characters into an object
representation.
<p>
This implementation includes a line and column counter that makes it easier
to debug an erroneous JSON string. These might add additional overhead to the
parsing time and should therefore only be used if the input is expected to
have errors.

@author Emil Forslund
@since  1.0.0
common-parent/json/src/main/java/com/speedment/common/json/internal/JsonDeserializer.java