@Override
    public void close() throws IOException {
      Throwable error = null;
      for (Object c : ContainerUtil.ar(first, second)) {
        if (!(c instanceof Closeable)) continue;
        try {
          ((Closeable)c).close();
        }
        catch (Throwable ex) {
          if (error == null) error = ex;
        }
      }
      if (error instanceof IOException) throw (IOException)error;
      ExceptionUtil.rethrowAllAsUnchecked(error);
    }
@Override
    public void close()