final ExpressionContext ctx, final CtClass ctClass,
final AddImplementationTransformer transformer) {
List introductionDefs = definition.getIntroductionDefinitions(ctx);
boolean isClassAdvised = false;
for (Iterator it = introductionDefs.iterator(); it.hasNext();) {
IntroductionDefinition introDef = (IntroductionDefinition)it.next();
int methodIndex = 0;
List methodsToIntroduce = introDef.getMethodsToIntroduce();
for (Iterator mit = methodsToIntroduce.iterator(); mit.hasNext(); methodIndex++) {
MethodInfo methodToIntroduce = (MethodInfo)mit.next();
if (methodToIntroduce == null) {
continue;
}
transformer.createProxyMethod(
ctClass, methodToIntroduce,
definition.getMixinIndexByName(introDef.getName()), methodIndex,
definition, context
);
isClassAdvised = true;
}
}