code: @Override
      public long skip(long n) {
          if (n <= 0) {
              return 0;
          }
          int temp = pos;
          pos = this.count - pos < n ? this.count : (int) (pos + n);
          return pos - temp;
      }
docs: Skips {@code count} number of bytes in this InputStream. Subsequent
  {@code read()}s will not return these bytes unless {@code reset()} is
  used. This implementation skips {@code count} number of bytes in the
  target stream. It does nothing and returns 0 if {@code n} is negative.
  
  @param n
  the number of bytes to skip.
  @return the number of bytes actually skipped.