///<summary>
        /// IProxyInvocationHandler method that gets called from within the proxy
        /// instance.
        ///</summary>
        ///<param name="proxy">Instance of proxy</param>
        ///<param name="method">Method instance
        public Object Invoke(Object proxy, System.Reflection.MethodInfo method, Object[] parameters)
        {
            Object retVal = null;

            try
            {
                retVal = method.Invoke(obj, parameters);
            }
            catch (QuestionLibaryException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                if (ex.InnerException is QuestionLibaryException)
                {
                    throw ex.InnerException;
                }
                else
                {
                    WriteLog.AddEventLogEntry(ex);
                    throw ex;
                }
            }
            return(retVal);
        }