@Override
  ExceptionLineRefiner.RefinerMatchResult matchSpecificExceptionElement(@NotNull PsiElement current) {
    PsiElement e = PsiTreeUtil.nextVisibleLeaf(current);
    if (e == null) return null;
    PsiExpression candidate = null;
    if (e instanceof PsiKeyword && e.textMatches(PsiKeyword.NEW) && e.getParent() instanceof PsiNewExpression) {
      PsiExpression[] dimensions = ((PsiNewExpression)e.getParent()).getArrayDimensions();
      for (PsiExpression dimension : dimensions) {
        if (dimension != null) {
          PsiLiteral literal = ObjectUtils.tryCast(PsiUtil.skipParenthesizedExprDown(dimension), PsiLiteral.class);
          // Explicit negative number like -1 cannot be literal, it's unary expression
          if (literal != null && literal.getValue() instanceof Integer) continue;
        }
        if (candidate == null) {
          candidate = dimension;
        } else {
          return null;
        }
      }
    }
    return onTheSameLineFor(current, candidate, true);
  }
@Override
  ExceptionLineRefiner.RefinerMatchResult matchSpecificExceptionElement(@NotNull PsiElement current)