code: public long skip(long n) throws IOException
     {
        if (n <= 0)
           return 0;
  
        long remaining = n;
        int nr;
        byte[] skipBuffer = new byte[SerializationConstants.INTERNAL_BUFFER_SIZE];
        while (remaining > 0)
        {
           nr = in.read(skipBuffer, 0, (int)Math.min(SerializationConstants.INTERNAL_BUFFER_SIZE, remaining));
           if (nr < 0)
           {
              break;
           }
           remaining -= nr;
        }
        return n - remaining;
     }
docs: {@inheritDoc}