code: public <E> DiffResult<E> diff(List<E> previous, List<E> next, DiffConfiguration<E> configuration)
      {
          DiffResult<E> result;
          try {
              result = this.diffManager.diff(previous, next, configuration);
          } catch (DiffException e) {
              result = new DefaultDiffResult<E>(previous, next);
              result.getLog().error("Failed to execute diff", e);
          }
  
          return result;
      }
docs: Produce a diff between the two provided versions.
  
  @param <E> the type of compared elements
  @param previous the previous version of the content to compare
  @param next the next version of the content to compare
  @param configuration the configuration of the diff behavior
  @return the result of the diff