anchor.diff:  [source, java]
   ----
   Link link = linkTo(methodOn(PersonController.class).show(2L)).withSelfRel();
  -assertThat(link.getHref(), is("/people/2")));
  +assertThat(link.getHref(), endsWith("/people/2")));
   ----
   
   `methodOn(…)` creates a proxy of the controller class that is recording the method invocation and exposes it in a proxy created for the return type of the method. This allows the fluent expression of the method we want to obtain the mapping for. However there are a few constraints on the methods that can be obtained using this technique:
  
positive.code: Person person = new Person(1L, "Dave", "Matthews");
  //                 /person                 /     1
  Link link = linkTo(PersonController.class).slash(person.getId()).withSelfRel();
  assertThat(link.getRel(), is(Link.SELF));
  assertThat(link.getHref(), endsWith("/people/1"));
  ----
  
  
negative.code: Method method = PersonController.class.getMethod("show", Long.class);
  Link link = linkTo(method, 2L).withSelfRel();
  
  assertThat(link.getHref(), endsWith("/people/2")));
  ----
  
  This is still a bit dissatisfying as we have to get a `Method` instance first, which throws an exception and is generally quite cumbersome. At least we don't repeat the mapping. An even better approach is to have a dummy method invocation of the target method on a controller proxy we can create easily using the `methodOn(…)` helper.
  