protected void generateClass() throws Exception {
if (this.clazz == null) {
this.clazz = new DirectTupleCodeGenerator(iface, fieldNames, fieldTypes, layout).cookToClass();
this.addressOffset = unsafe.objectFieldOffset(clazz.getField("address"));
TupleAllocatorGenerator generator = new TupleAllocatorGenerator(clazz);
this.allocator = generator.createAllocator();
}
}