See http://sourceforge.net/tracker/?func=detail&aid=987038&group_id=22866&atid=376685. A failing TestCase is provided.
I notice that the code deliberately treats statics differently:
if ((finfo.getAccessFlags() & AccessFlag.STATIC) == 0) {
 code.addAload(0);
 code.addLoad(1, field.getType());
 code.addPutfield(Bytecode.THIS, fieldName, fieldType);
 }
 else {
 code.addLoad(0, field.getType());
 code.addPutstatic(Bytecode.THIS, fieldName, fieldType);
 }Message and TransactionID Object Pooling has been disabled.
This reduces some of the complexity of the implementation.
User space pooling is only relevent for objects that take a long
time to construct (these objects do not).