anchor.diff:  that are field separator delimited, fixed length, branching based on data
   parsed, looking ahead in the stream for a specific byte and base future
   parsing decisions. Provides out of the box PCI compliance and ability to add java objects to meet you compliance needs.
  -|*When:*| Available as of jPOS-EE 2.0.9
  -|*Who:*| The jPOS.org team (contributed by @chhil)
  +|*When:*| Available in all versions of jPOS-EE.
  +|*Who:*| The jPOS.org team.
   |*How:*| Posted by the jPOS-EE team.
  -|*Where:*| Directory modules/fsdpackager available in the jPOS-EE main git repository
  +|*Where:*| Directory modules/fsdmsgX available in the jPOS-EE main
  +subversion repository at google code.
   |*Why:*| When schema based FSD does not meet your parsing needs to write more complex parsing rules.
   |*Status:*| Production grade
   |*Dependencies:*| module jpos
  -|*License:*| <<appendix_license,GNU Affero General Public License version 3>>
  +|*License:*| <<appendix_license,GNU Affero General Public License version 3>> 
   |=================================================================
   
   
   ==== Introduction to using the packagers
   
  -===== FixedFieldPackager
  +====== FixedFieldPackager
   
   Consider a specification that states field 1 is a fixed field of 6 and field 2 is a fixed stream of 2 bytes.
   Stream of bytes=123456AB
  
positive.code: * The container has a hexdump method that dumps the hex equivalent of the unpacked stream. Notice EXTRA is not there as there was no rule to unpack it.
  * If the input string was s = "123456" then an ISOException would be thrown telling you precisely what was wrong.
  org.jpos.iso.ISOException: Field [Field2] at offset [6]:Expecting 2 bytes found 0
  
  
  .FixedFieldPackager Usage [packing object into bytes]
  ====
  
  
      FSDMsgX msg = new FSDMsgX("Example1");
      FixedFieldPackager field1 = new FixedFieldPackager("Field1", 6, AsciiInterpreter.INSTANCE);
      FixedFieldPackager field2 = new FixedFieldPackager("Field2", 2, AsciiInterpreter.INSTANCE);
  
      msg.add(field1);
      msg.add(field2);
  
      msg.set("Field1", "ABCDEF");
      msg.set("Field2", "12");
  
      byte[] outStream = msg.pack();
  
      System.out.println(msg.dump("dump"));
      System.out.println(msg.getParserTree("tree>"));
      System.out.println(msg.hexDump(""));
      System.out.println(ISOUtil.hexdump(outStream));
  
  
  
  ====
  
  *Output*
  [source,xml]
  dump<fsdmsgX name="Example1">
  dump  <field id="Field1" value="ABCDEF"/>
  dump  <field id="Field2" value="12"/>
  dump</fsdmsgX>
  tree>[Example1]
  tree>Field [Field1] : Fixed [6] : ABCDEF
  
negative.code: * See the hexdumps are identical for both the containers,operations show equivalence.
  
  
  ====== BranchFieldPackager
  
  Consider a specification where you need to parse fields differently based on a particular field. Typically you will see a pattern where, if the value of the field is X the fields following it are Y1,Y2..Yn.
  
  