protected override KeyValuePair<MethodBuilder, Type> CompileForSave(TypeGen typeGen) {
var lambda = RewriteForSave(typeGen, _code);
MethodBuilder mb = typeGen.TypeBuilder.DefineMethod(lambda.Name ?? "lambda_method", CompilerHelpers.PublicStatic | MethodAttributes.SpecialName);
lambda.CompileToMethod(mb, false);
mb.SetCustomAttribute(new CustomAttributeBuilder(
typeof(CachedOptimizedCodeAttribute).GetConstructor(new Type[] { typeof(string[]) }),
new object[] { _names }
));
return new KeyValuePair<MethodBuilder, Type>(mb, typeof(LookupCompilationDelegate));
}