private static void ProcessTransaction(
            ClaimHeader claimHeader,
            ClaimTransactionHeader claimTransactionHeader, 
            CalculateDeductiblesHandler calculateDeductiblesHandler)
        {
            try
            {
                claimTransactionHeader.Context = claimHeader.Context;
                claimTransactionHeader.SetToInProgress();
                //axaCalculateDeductiblePlugin.ProcessComponent(claimTransactionHeader, ProcessInvocationPoint.Virtual, 0);
                calculateDeductiblesHandler.Calculate(claimTransactionHeader);
                claimTransactionHeader.SetToNotInProgress();

                GlobalClaimWakeUp.ClearAttachedData(claimHeader.ClaimReference);
                Logger.InfoFormat("Executed Deductible calculation for\r\n{0}\r\n", JObject.FromObject(new { claimHeader.ClaimReference, claimTransactionHeader.ClaimTransactionHeaderReference }));
            }
            catch (Exception ex)
            {

                Logger.ErrorFormat("Exception thrown while executing E&D\r\n{0}\r\n",
                    JObject.FromObject(new { claimHeader.ClaimReference, claimTransactionHeader.ClaimTransactionHeaderReference, ex.Message, ex.StackTrace }));
            }

        }