anchor.diff:  * You can verify that the parser parsed it correctly.
   * You can verify the hexdump of the actual packed vyte array outstream is the same as the hexdump of the container.
   
  -===== VariableFieldPackager
  +
  +====== VariableFieldPackager
   Used when the size of the field is variable and needs a delimiter to indicate the end of the field.
   
   Consider a specification that indicates a field FirstName can have a maximum of 20 characters and will be terminate/delimited by a semi colon followed by a Lastname with a maximum of 10 characters terminated by a period.
   The delimiter is important because one could have a name Tom, Tommy, Thomas to indicate the end of a name a delimiter is needed. If I did bot have a FirstName, a semi colon would be needed to indicate there is no first name.
   
   
  -.VariableFieldPackager Usage
  -====
  -
  -  @Test
  -  public void unpackTest02() throws ISOException {
  -
  -    VariableFieldPackager f1 = new VariableFieldPackager("F1", 20, new Byte((byte) 0x1c),
  -        AsciiInterpreter.INSTANCE);
  -    VariableFieldPackager f2 = new VariableFieldPackager(
  -      "F2", 5, new Byte((byte) 0x1d), 
  -      AsciiInterpreter.INSTANCE
  -    );
  -
  -    FSDMsgX msg = new FSDMsgX("Test1");
  -    msg.add("F1", f1);
  -    msg.add("F2", f2);
  -
  -    String inStream = "123456" + (char) 0x1c + "ABC" + (char) 0x1d;
  -    msg.unpack(inStream.getBytes());
  -
  -    assertEquals("123456", msg.get("F1"));
  -    assertEquals("ABC", msg.get("F2"));
  -
  -    FSDMsgX msg2 = new FSDMsgX("Test2");
  -    msg2.add("F1", f1);
  -    msg2.add("F2", f2);
  -    byte[] outStream = msg2.pack();
  -
  -    System.out.println(msg2.getParserTree("Msg2"));
  -    assertArrayEquals(inStream.getBytes(), outStream);
  -    System.out.println(msg2.hexDump(""));
  -    System.out.println(msg.hexDump(""));
  -  }
  -
  -====
  -
  +
  +.VariableFieldPackager Usage 
  +====
  +
  +	@Test
  +	public void unpackTest02() throws ISOException {
  +
  +		VariableFieldPackager f1 = new VariableFieldPackager("F1", 20, new Byte((byte) 0x1c),
  +				AsciiInterpreter.INSTANCE);
  +		VariableFieldPackager f2 = new VariableFieldPackager("F2", 5, new Byte((byte) 0x1d), AsciiInterpreter.INSTANCE);
  +
  +		FSDMsgX msg = new FSDMsgX("Test1");
  +		msg.add("F1", f1);
  +		msg.add("F2", f2);
  +
  +		String inStream = "123456" + (char) 0x1c + "ABC" + (char) 0x1d;
  +		msg.unpack(inStream.getBytes());
  +
  +		assertEquals("123456", msg.get("F1"));
  +		assertEquals("ABC", msg.get("F2"));
  +		
  +		FSDMsgX msg2 = new FSDMsgX("Test2");
  +		msg2.add("F1", f1);
  +		msg2.add("F2", f2);
  +		byte[] outStream = msg2.pack();
  +		
  +		System.out.println(msg2.getParserTree("Msg2"));
  +		assertArrayEquals(inStream.getBytes(), outStream);
  +		System.out.println(msg2.hexDump(""));
  +		System.out.println(msg.hexDump(""));
  +	}
  +
  +====
   
   *Output*
   
  
positive.code: ====
  
  
      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);
  
      String s = "123456ABEXTRA";// there are EXTRA bytes in the stream
  
      int offset = msg.unpack(s.getBytes());
      System.out.println("Offset="+offset);
      System.out.println("Field1="+msg.get("Field1"));
      System.out.println("Field2="+msg.get("Field2"));
      System.out.println(msg.dump("dump> "));
      System.out.println(msg.getParserTree("tree> "));
      System.out.println(msg.hexDump(""));
  ====
  
  *Output*
  
negative.code: 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 in all versions of jPOS-EE.
  |*Who:*| The jPOS.org team.
  |*How:*| Posted by the jPOS-EE team.
  |*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>> 
  |=================================================================
  
  
  ==== Introduction to using the packagers
  
  ====== 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
  