for (SoftReference<Closeable> ref : _closeList) {
ArrayList<SoftReference<Closeable>> closeList; closeList = new ArrayList<SoftReference<Closeable>>(_closeList);  for (SoftReference<Closeable> ref : closeList) {
  public void close()  {    while (_outputBuffer != null)      popOutputBuffer();    try {      for (int i = 0; i < _shutdownList.size(); i++)        _shutdownList.get(i).call(this);    }    catch (Throwable e) {      log.log(Level.FINE, e.toString(), e);    }    sessionWriteClose();    for (SoftReference<Closeable> ref : _closeList) {      try {        Closeable close = ref.get();        if (close != null)          close.close();      }      catch (Throwable e) {        log.log(Level.FINER, e.toString(), e);      }    }    for (int i = 0; _removePaths != null && i < _removePaths.size(); i++) {      Path path = _removePaths.get(i);      try {        path.remove();      }      catch (IOException e) {        log.log(Level.FINER, e.toString(), e);      }    }  }