private boolean isQualifiedExcludedType(Tree tree) {
   if (!tree.is(Kind.MEMBER_SELECT)) {
     return false;
   }
   return Iterables.contains(
       exceptions, ExpressionsHelper.concatenate((MemberSelectExpressionTree) tree));
 }
 @Override
 public void visitMemberSelectExpression(MemberSelectExpressionTree tree) {
   String reference = ExpressionsHelper.concatenate(tree);
   if (!isExcluded(reference)) {
     int line = FirstSyntaxTokenFinder.firstSyntaxToken(tree).line();
     if (!reportedLines.contains(line) && isSunClass(reference)) {
       context.addIssue(
           line, this, "Replace this usage of Sun classes by ones from the Java API.");
       reportedLines.add(line);
     }
     super.visitMemberSelectExpression(tree);
   }
 }