anchor.diff:  
   .Using the declared types in rules
   ====
  -++++
  -<programlisting><emphasis role="bold">rule</emphasis> "Using a declared Type"
  -<emphasis role="bold">when</emphasis> 
  +[source]
  +----
  +rule "Using a declared Type"
  +when< 
       $p : Person( name == "Bob" )
  -<emphasis role="bold">then</emphasis>
  -    <emphasis>// Insert Mark, who is Bob's mate.</emphasis>
  +then
  +    // Insert Mark, who is Bob's mate.
       Person mark = new Person();
       mark.setName("Mark");
       insert( mark );
  -<emphasis role="bold">end</emphasis></programlisting>
  -++++
  +end
  +----
   ====
   
   === Declaring enumerative types
  
positive.code: Cheese( "stilton"; shop == "Cheese Shop", p : price )
  Cheese( name == "stilton"; shop == "Cheese Shop", p : price )
  ----
  
  @Position is inherited when beans extend each other; while not recommended, two fields may have the same @position value, and not all consecutive values need be declared.
  If a @position is repeated, the conflict is solved using inheritance (fields in the superclass have the precedence) and the declaration order.
  If a @position value is missing, the first field without an explicit @position (if any) is selected to fill the gap.
  As always, conflicts are resolved by inheritance and declaration order.
  
  ++++
  <programlisting><emphasis role="bold">declare</emphasis> Cheese
      name : String 
      shop : String <emphasis role="italic">@position(2)</emphasis>
      price : int <emphasis role="italic">@position(0)</emphasis>
  <emphasis role="bold">end</emphasis>
  
  <emphasis role="bold">declare</emphasis> SeasonedCheese <emphasis role="bold">extends</emphasis> Cheese
      year : Date <emphasis role="italic">@position(0)</emphasis>
      origin : String <emphasis role="italic">@position(6)</emphasis>
      country : String    
  <emphasis role="bold">end</emphasis></programlisting>
  ++++
  
  In the example, the field order would be : price (@position 0 in the superclass), year (@position 0 in the subclass), name (first field with no @position), shop (@position 2), country (second field without @position), origin.
  
  
negative.code: 
  .Declaring metadata using the fully qualified class name
  ====
  [source]
  ----
  declare org.drools.examples.Person
      @author( Bob )
      @dateOfCreation( 01-Feb-2009 )
  end
  ----
  ====
  
  == Parametrized constructors for declared types
  