docs: public static boolean isFinalVariable(DeclarationExpression declarationExpression, SourceCode sourceCode) {
          if (isFromGeneratedSourceCode(declarationExpression)) {
              return false;
          }
          List<Expression> variableExpressions = getVariableExpressions(declarationExpression);
          if (!variableExpressions.isEmpty()) {
              Expression variableExpression = variableExpressions.get(0);
              int startOfDeclaration = declarationExpression.getColumnNumber();
              int startOfVariableName = variableExpression.getColumnNumber();
              int sourceLineNumber = findFirstNonAnnotationLine(declarationExpression, sourceCode);
              String sourceLine = sourceCode.getLines().get(sourceLineNumber-1);
  
              String modifiers = (startOfDeclaration >= 0 && startOfVariableName >= 0 && sourceLine.length() >= startOfVariableName) ?
                  sourceLine.substring(startOfDeclaration - 1, startOfVariableName - 1) : "";
              return modifiers.contains("final");
          }
          return false;
      }