final SignatureWriter type = new SignatureWriter();
final SignatureVisitor actionImplemented = type.visitInterface();
actionImplemented.visitClassType(actionInterface.getInternalName());
final SignatureVisitor visitTypeArgument = actionImplemented.visitTypeArgument('=');
final SignatureReader result = new SignatureReader(privilizer().wrap(methd.getReturnType()).getDescriptor());
result.accept(visitTypeArgument);
actionImplemented.visitEnd();
final String signature = type.toString();
visit(Opcodes.V1_5, Opcodes.ACC_SUPER | Opcodes.ACC_SYNTHETIC | Opcodes.ACC_FINAL, action.getInternalName(),