anchor.diff:  }
   ----
   <1> Declare a method that gives us a `TemplateInstance` for `templates/ItemResource/item.html` and declare its `Item item` parameter so we can validate the template.
  -<2> The `item` parameter is automatically turned into a <<parameter_declarations,parameter declaration>> and so all expressions that reference this name will be validated.
  +<2> The `item` parameter is automatically turned into a <<typesafe_expressions,parameter declaration>> and so all expressions that reference this name will be validated.
   <3> Make the `Item` object accessible in the template.
    
   You can also declare a top-level Java class annotated with `@CheckedTemplate`:
  
positive.code:     public static native TemplateInstance hello(String name); <1>
  }
  ----
  <1> This declares a template with path `templates/hello.txt`. The `name` parameter is automatically turned into a  <<parameter_declarations,parameter declaration>> and so all expressions that reference this name will be validated.
  
  Then declare one `public static native TemplateInstance method();` per template file.
  Use those static methods to build your template instances:
  
negative.code: }
  ----
  
  NOTE: Virtual methods are usually evaluated by value resolvers generated for <<template_extension_methods,@TemplateExtension methods>>, <<template_data,@TemplateData>> or classes used in <<typesafe_expressions,parameter declarations>>. However, a custom value resolver that is not backed by any Java class/method can be registered as well.
  
  A virtual method with single parameter can be called using the infix notation:
  
  