public void close(boolean pCloseUnderlying) throws IOException {
  if (closed) {
    return;
  }
  if (pCloseUnderlying) {
    closed=true;
    input.close();
  }
 else {
    for (; ; ) {
      int av=available();
      if (av == 0) {
        av=makeAvailable();
        if (av == 0) {
          break;
        }
      }
      long skip=skip(av);
      if (skip != av) {
        if (log.isDebugEnabled()) {
          log.debug(skip + " bytes been skipped.");
        }
      }
    }
  }
  closed=true;
}

public void close ( boolean pCloseUnderlying ) throws IOException { if ( closed ) { return ; } if ( pCloseUnderlying ) { closed = true ; input . close ( ) ; } else { for ( ; ; ) { int av = available ( ) ; if ( av == 0 ) { av = makeAvailable ( ) ; if ( av == 0 ) { break ; } } long skip = skip ( av ) ; if ( skip != av ) { if ( log . isDebugEnabled ( ) ) { log . debug ( skip + " bytes been skipped." ) ; } } } } closed = true ; }
closes the input stream .
