/// <inheritdoc/>
        public void Validate(Contract contract, Models.ContractRequest request, Expression <Func <Contract, bool> > validatePredicate)
        {
            Validate(contract, request);

            var validationPredicate = validatePredicate.Compile();

            if (!validationPredicate(contract))
            {
                throw new ContractExpectationFailedException(request.ContractNumber, request.ContractVersion, validatePredicate.Body.ToString());
            }
        }
 /// <inheritdoc/>
 public void Validate(Contract contract, Models.ContractRequest request)
 {
     //Validate contract can be found.
     _ = contract ?? throw new ContractNotFoundException(request.ContractNumber, request.ContractVersion);
 }