Compare two ArrayList in a two way comparison?
How about streams API?

public boolean compare(List&lt;Task&gt; source, List&lt;Task&gt; actual) {
    Set&lt;Task&gt; sourceDifference = source.stream()
          .filter(t-&gt;!actual.contains(t))
          .collect(Collectors.toSet());
    for (Task t: sourceDifference) {
        System.out.println(String.format("Task %s not present in actual", t));
    }

    Set&lt;Task&gt; actualDifference = actual.stream()
          .filter(t-&gt;!source.contains(t))
          .collect(Collectors.toSet());
    for (Task t: actualDifference) {
        System.out.println(String.format("Task %s not present in source", t));
    }

    return sourceDifference.isEmpty() &amp;&amp; actualDifference.isEmpty();
}