@Override
  public <T> T doAs(Callable<T> callable) {
    if (io instanceof AuthenticatedFileIO) {
      return ((AuthenticatedFileIO) io).doAs(callable);
    }
    try {
      return callable.call();
    } catch (Exception e) {
      throw new RuntimeException(e);
    }
  }
An adapter class to make a {@link FileIO} object adapt to {@link AuthenticatedFileIO} interface.
amoro-format-iceberg/src/main/java/org/apache/amoro/io/AuthenticatedFileIOAdapter.java