docs: private void replaceInCode(final String loggerName, final GeneratedClassInfo generatedClassInfo, final StatementInfo statementInfo, java.util.List<VariableAndValue> usedVariables, JCTree.JCLiteral literal, String level, VariableContextProvider variableContextProvider) {
          final ListBuffer listBuffer = new ListBuffer();
          final Class<SidCounter> sidCounterClass = SidCounter.class;
  
          if(variableContextProvider.shouldParametrize()) {
              listBuffer.add(createFormatCall(usedVariables, literal));
          }
          else {
              listBuffer.add(literal);
          }
  
          listBuffer.add(treeMaker.Literal(statementInfo.getSourceFileName()));
          listBuffer.add(treeMaker.Literal(statementInfo.getLineNumber()));
          listBuffer.add(treeMaker.Literal(generatedClassInfo.getQualifiedName()));
          listBuffer.add(treeMaker.Apply(
                  com.sun.tools.javac.util.List.nil(),
                  treeMaker.Select(
                          treeMaker.Select(
                                  treeMaker.Ident(
                                          names.fromString(
                                                  sidCounterClass.getPackage().getName()
                                          )
                                  ),
                                  names.fromString(
                                          sidCounterClass.getSimpleName()
                                  )
                          ),
                          names.fromString("incrementAndGet")
                  ),
                  List.nil())
          );
          listBuffer.add(treeMaker.Literal(level));
          listBuffer.add(treeMaker.Apply(
                  com.sun.tools.javac.util.List.nil(),
                  treeMaker.Select(
                          treeMaker.Select(
                                  treeMaker.Ident(
                                          names.fromString(
                                                  System.class.getPackage().getName()
                                          )
                                  ),
                                  names.fromString(
                                          System.class.getSimpleName()
                                  )
                          ),
                          names.fromString("currentTimeMillis")
                  ),
                  List.nil())
          );
          addVariablesToBuffer(usedVariables, listBuffer);
  
          final JCTree.JCNewClass jcNewClass = treeMaker.NewClass(
                  null,
                  com.sun.tools.javac.util.List.nil(),
                  treeMaker.Select(
                          treeMaker.Ident(
                                  names.fromString(generatedClassInfo.getPackageName())
                          ),
                          names.fromString(generatedClassInfo.getSimpleName())
                  ),
                  listBuffer.toList(),
                  null);
  
          final JCTree.JCMethodInvocation apply = treeMaker.Apply(
                  com.sun.tools.javac.util.List.nil(),
                  treeMaker.Select(
                          treeMaker.Ident(
                                  elementUtils.getName(loggerName)
                          ),
                          elementUtils.getName(level.toLowerCase() + "Event")
                  ),
                  com.sun.tools.javac.util.List.of(
                          jcNewClass
                  )
          );
          statementInfo.getStatement().expr = apply;
      }