private IList <ReferenceData> GetHandlerEx(Func <IList <ReferenceData> > func)
        {
            try
            {
                return(func());
            }
            catch (Exception ex)
            {
                Logger.ErrorFormat(
                    "Exception occurred while processing ReferenceData. Exception message: {0}{1}Stack Trace: {2}.",
                    ex.AllExceptionMessages(),
                    Environment.NewLine,
                    ex.StackTrace);

                throw FaultFactory.Exception(ex);
            }
        }
        private void PostHandler(string key, Action action)
        {
            try
            {
                action();
            }
            catch (Exception ex)
            {
                Logger.ErrorFormat(
                    "Exception occurred while processing ReferenceData with key '{0}'. Exception message: {1}{2}Stack Trace: {3}.",
                    key,
                    ex.AllExceptionMessages(),
                    Environment.NewLine,
                    ex.StackTrace);

                throw FaultFactory.Exception(ex);
            }
        }
        private ReferenceDataList GetHandler(string key, Func <ReferenceDataList> func)
        {
            try
            {
                return(func());
            }
            catch (Exception ex)
            {
                Logger.ErrorFormat(
                    "Exception occurred while processing ReferenceData with key '{0}'. Exception message: {1}{2}Stack Trace: {3}.",
                    key,
                    ex.AllExceptionMessages(),
                    Environment.NewLine,
                    ex.StackTrace);

                throw FaultFactory.Exception(ex);
            }
        }