@Override
  public <T> TransformResult<T> transform(
      Class<T> resultType, Object input, Map<String, String> properties) {
    TransformerContext context = new TransformerContextImpl(properties);
    T dataType = transform(resultType, input, context);
    return new TransformResult<>(dataType, context.getProblems());
  }
Dispatches to a cached function based on input and result types to perform a transformation.
extensions/data-transfer/portability-data-transfer-microsoft/src/main/java/org/datatransferproject/transfer/microsoft/transformer/TransformerServiceImpl.java