@Override
 public boolean processRunAuditBusinessRules(Document document) {
   boolean valid = true;
   AwardDocument awardDocument = (AwardDocument) document;
   List<AuditError> auditErrors = new ArrayList<AuditError>();
   Award award = awardDocument.getAward();
   if (award.getMethodOfPaymentCode() == null) {
     valid &= false;
     addErrorToAuditErrors(auditErrors, METHOD_OF_PAYMENT_AUDIT_KEY, PAYMENT_METHOD);
   }
   if (award.getBasisOfPaymentCode() == null) {
     valid &= false;
     addErrorToAuditErrors(auditErrors, BASIS_OF_PAYMENT_AUDIT_KEY, PAYMENT_BASIS);
   }
   valid &= checkAwardBasisOfPayment(awardDocument, auditErrors);
   valid &= checkAwardBasisAndMethodOfPayment(awardDocument, auditErrors);
   reportAndCreateAuditCluster(auditErrors);
   return valid;
 }