public void dispose() throws IOException {
   beginThreadAccess();
   // System.out.println("SICW.endFinalUse()  About to ... " + this);
   if (takeOwnershipOfStreamDataInput) {
     if (streamDataInput != null) {
       streamDataInput.close();
       endThreadAccess();
       streamDataInput = null;
     }
   } else {
     endCurrentUse(); // In case using code forgot
   }
   // System.out.println("SICW.endFinalUse()  ... Done     " + this);
 }
 public void close()
     throws IOException
 {
     in.close();
     super.close();
 }