code: public void rewind() throws IOException {
      if (!rewindable) {
        throw LOG.unableToRewindReader();
      }
  
      wrappedReader.unread(buffer, 0, pos);
      pos = 0;
    }
docs: Rewinds the reader such that the initial characters are returned when invoking read().
  
  Throws an exception if more than the buffering limit has already been read.
  @throws IOException