public List<String> explainMismatch(Issue issue){
  Objects.requireNonNull(issue);
  List<String> result=new LinkedList<>();
  for (  IssuePropertyMatcher propertyMatcher : propertyMatchers) {
    if (!propertyMatcher.matches(issue))     result.add(propertyMatcher.getMessage(issue));
  }
  return result;
}

public List < String > explainMismatch ( Issue issue ) { Objects . requireNonNull ( issue ) ; List < String > result = new LinkedList < > ( ) ; for ( IssuePropertyMatcher propertyMatcher : propertyMatchers ) { if ( ! propertyMatcher . matches ( issue ) ) result . add ( propertyMatcher . getMessage ( issue ) ) ; } return result ; }
returns a list of explanations for each mismatched property matcher for the given issue .
