public boolean matches(Object actual) {
   ReflectionComparator reflectionComparator = createRefectionComparator(modes);
   this.difference = reflectionComparator.getDifference(expected, actual);
   return difference == null;
 }