protected Match literalExpressionsMatch(PsiLiteralExpression expression1, PsiLiteralExpression expression2) {
    if (PsiTypes.nullType().equals(expression1.getType()) && PsiTypes.nullType().equals(expression2.getType())) {
      return EXACT_MATCH;
    }
    final Object value1 = expression1.getValue();
    final Object value2 = expression2.getValue();
    return (value1 == null || value2 == null)
           ? EXACT_MISMATCH // broken code
           : Match.exact(value1.equals(value2));
  }
protected Match literalExpressionsMatch(PsiLiteralExpression expression1, PsiLiteralExpression expression2)