}
private Allocator(Class<T> representingKlass, AllocationListener listener, SlabOptions options) {
this.listener = listener;
this.options = options;
inspector = new TypeInspector(representingKlass);
implementation = new BytecodeGenerator<T>(inspector, representingKlass, options).generate();
try {
constructor = implementation.getConstructor(Integer.TYPE, AllocationHandler.class, SlabOptions.class);
} catch (RuntimeException e) {
throw e;