public KCoreConfigSkeleton.ItemDouble AddItemDouble(string name, ref double reference)
{
StackItem[] stack = new StackItem[3];
#if DEBUG
stack[1].s_class = (IntPtr) DebugGCHandle.Alloc(name);
#else
stack[1].s_class = (IntPtr) GCHandle.Alloc(name);
#endif
stack[2].s_double = reference;
interceptor.Invoke("addItemDouble$$", "addItemDouble(const QString&, double&)", stack);
#if DEBUG
DebugGCHandle.Free((GCHandle) stack[1].s_class);
#else
((GCHandle) stack[1].s_class).Free();
#endif
reference = stack[2].s_double;
return (KCoreConfigSkeleton.ItemDouble) Enum.ToObject(typeof(KCoreConfigSkeleton.ItemDouble), stack[0].s_int);
}