VariableFieldPackager returns delimiter if value is null.
FixedFieldPackager would get value from map if value is null.
public byte[] pack(Map<String, String> fields) throws ISOException {
if (value == null || value.equals("")) {
return new byte[] { delimiter.byteValue() };
}
public byte[] pack(Map<String, String> fields) throws ISOException {
if (value== null) {
value = fields.get(getName());
}
else {
fields.put(getName(), value);
}
this causes packing empty value when VariableFieldPackager in a nested FSDMsgX.