code: public long skip(long n) throws IOException 
      {
          if (TraceComponent.isAnyTracingEnabled()&&logger.isLoggable (Level.FINE)) {  //306998.15
              logger.logp(Level.FINE, CLASS_NAME,"skip", "skip");
          }
          
          if ( total >= limit )
          {
              if (TraceComponent.isAnyTracingEnabled()&&logger.isLoggable (Level.FINE)) {  //306998.15
                  logger.logp(Level.FINE, CLASS_NAME,"skip", "Total over limit: 0");
              } 
              return 0;
          }
          long remaining = n;
          while ( remaining > 0 )
          {
              int avail = count - pos;
              if ( avail <= 0 )
              {
                  fill();
                  avail = count - pos;
                  if ( avail <= 0 )
                  {
                      if (TraceComponent.isAnyTracingEnabled()&&logger.isLoggable (Level.FINE)) {  //306998.15
                          logger.logp(Level.FINE, CLASS_NAME,"skip", "skip avail < 0: "+(n - remaining));
                      } 
                      return n - remaining;
                  }
              }
              if ( remaining < avail )
              {
                  avail = (int)remaining;
              }
              remaining -= avail;
              pos += avail;
              total += avail;
          }
          return n;
      }
docs: Skips n bytes of input.
  @param n the number of bytes to skip
  @return the actual number of bytes skipped
  @exception IOException if an I/O error has occurred