code: protected final int readBytes()
          throws IOException
      {
          _inputPtr = 0;
          _inputEnd = 0;
          if (_inputSource != null) {
              int count = _inputSource.read(_inputBuffer, 0, _inputBuffer.length);
              if (count > 0) {
                  _inputEnd = count;
              }
              return count;
          }
          return -1;
      }
docs: Method for reading as many bytes from the underlying stream as possible
  (that fit in the buffer), to the beginning of the buffer.
  @return The number of bytes read or -1 if inputSource not available
  @throws IOException on read exceptions