code: public final int skipBytes(int pLength) throws IOException {
          // NOTE: There was probably a bug in ERH's original code here, as skip
          // never returns -1, but returns 0 if no more bytes can be skipped...
          int total = 0;
          int skipped;
  
          while ((total < pLength) && ((skipped = (int) in.skip(pLength - total)) > 0)) {
              total += skipped;
          }
  
          return total;
      }
docs: See the general contract of the {@code skipBytes}
  method of {@code DataInput}.
  <p>
  Bytes for this operation are read from the contained input stream.
  
  @param pLength the number of bytes to be skipped.
  @return the actual number of bytes skipped.
  @exception IOException if an I/O error occurs.