default <T extends ImportableItem, R extends Serializable>
      List<R> importBatchAndSwallowIOExceptions(
          List<T> items, ImportFunction<List<T>, List<R>> function) {

    // The general idea is:
    //   1. go through the items, filter out isKeyCached(item)
    //   2. pass the remaining ones to function
    //   3. save the resulting objects to cache, one by one
    //   4. return the result that function returned

    throw new UnsupportedOperationException();
  }
Execute an import function for a given item. The function throws whatever exception was wrapped
in the returning Rusult. If you can, please wrap an exception rather than throw it because an
import executor implementation might have some use of the result meta-information.
portability-spi-transfer/src/main/java/org/datatransferproject/spi/transfer/idempotentexecutor/IdempotentImportExecutor.java