@Contract("!null -> fail")
  public void close(@Nullable Throwable throwable) throws Exception {
    AutoCloseable[] cleanupArray;
    synchronized (myCleanupList) {
      cleanupArray = myCleanupList.toArray(EMPTY_ARRAY);
      myCleanupList.clear();
    }

    closeAll(cleanupArray, true, throwable);
  }
@Contract("!null -> fail")
  public void close(@Nullable Throwable throwable)