public static Object NewInstance(String engineURI, String statementName, ScheduleHandleCallback scheduleHandleCallback)
        {
            var generator = new ProxyGenerator();

            return(generator.CreateInterfaceProxyWithoutTarget(
                       typeof(ScheduleHandleCallback),
                       scheduleHandleCallback.GetType().GetInterfaces(),
                       new ScheduleHandleCallbackProxy(engineURI, statementName, scheduleHandleCallback)));
        }
        public static ScheduleHandleCallback NewInstance(String engineURI, String statementName, ScheduleHandleCallback scheduleHandleCallback)
        {
            var generator  = new ProxyGenerator();
            var interfaces = scheduleHandleCallback
                             .GetType()
                             .GetInterfaces()
                             .Where(ii => ii != typeof(IProxyTargetAccessor))
                             .ToArray();

            return((ScheduleHandleCallback)generator.CreateInterfaceProxyWithoutTarget(
                       typeof(ScheduleHandleCallback), interfaces, new ScheduleHandleCallbackProxy(engineURI, statementName, scheduleHandleCallback)));
        }