BranchWrapper ifdone = mb.appendIFNONNULL(this);
mb.appendCreateNew(cf.getName());
mb.appendDUP();
mb.appendCallInit(cf.getName(), "()V");
mb.appendPutStatic(inst);
mb.targetNext(ifdone);
mb.appendGetStatic(inst);
mb.appendReturn(FACTORY_INTERFACE);
mb.codeComplete(false);
mb.addMethod();