code: public void close() throws IOException 
      {
      	if (TraceComponent.isAnyTracingEnabled()&&logger.isLoggable (Level.FINE)) {  //306998.15
              logger.entering(CLASS_NAME,"close","total="+total+",limit="+limit);
          } 
          // begin 280584.3    6021: Cleanup of  defect 280584.2    WAS.webcontainer
          // finish();
          // in.close();
          try{
          	finish();
          }finally{
          	in.close();
          	// F003449 Start
          	if (obs!=null) {
                  if (TraceComponent.isAnyTracingEnabled()&&logger.isLoggable (Level.FINE)) {  //306998.15
                      logger.logp(Level.FINE, CLASS_NAME,"close", "Notify observer that input stream has been closed.");
                  } 
             	    obs.alertClose();
             	    // ensure future reads return -1 until restart() is called.
             	    // requried for multi read of post data when 
             	    // SRTServletResponse.isSkipInputStreamRead() returns true
             	    // ssee finish().
             	    total=limit;
          	}    
          	// F003449 End
          }
          // end 280584.3    6021: Cleanup of  defect 280584.2    WAS.webcontainer    
          if (TraceComponent.isAnyTracingEnabled()&&logger.isLoggable (Level.FINE)) {  //306998.15
              logger.exiting(CLASS_NAME,"close","total="+total+",limit="+limit);
          } 
      }
docs: Closes the input stream.
  @exception IOException if an I/O error has occurred