code: private static void removeCurrentNodeIfItHasNoChildren(CallStackElement currentFreemarkerCall) {
  		if (currentFreemarkerCall != null && currentFreemarkerCall.getChildren().isEmpty()) {
  			currentFreemarkerCall.remove();
  		}
  	}
docs: <pre>{@code
  test.ftl:1#templateModel.getFoo() <- added by {@code freemarker.core.MethodCall#_eval(Environment)}
  |-- test.ftl:1#templateModel.getFoo <- added by {@code freemarker.core.Dot#_eval(Environment)}
  `-- String org.stagemonitor.tracing.freemarker.FreemarkerProfilingTest$TemplateModel.getFoo()
  }</pre>
  
  We want to remove <code>templateModel.getFoo</code> as getFoo only returns the method reference, which is then
  invoked by {@code freemarker.core.MethodCall#_eval(Environment)}.
  Therefore, <code>getFoo</code> does not invoke the model and thus is not relevant for the call tree