context.set("this", InterceptorProxyTypeInterceptor.CACHE_FIELD_NAME, context.createNewInstanceInvocation(context.resolve(HashMap.class)));
context.set("this", InterceptorProxyTypeInterceptor.INTERCEPTOR_FIELD_NAME, context.getDeclaredParameter(0));
if (abilities != null && abilities.size() > 0) {
BytecodeLocalVariableDeclaration interceptor = context.getDeclaredParameter(0);
IBytecodeField state = context.getEnclosingType().getField(context.getResolutionPool(), InterceptorProxyTypeInterceptor.ABILITIES_FIELD_NAME);
context.set("this", InterceptorProxyTypeInterceptor.ABILITIES_FIELD_NAME, context.createNewInstanceInvocation(context.resolve(HashMap.class)));
for (IInterceptorManipulator ability : abilities) {
ability.manipulate(context, interceptor, state);