/**
  * {@inheritdoc}
  */
 public function checkIntegrity(ExecutionMetadataStateInterface $metadata_state, $apply_assertions = TRUE)
 {
     $violation_list = new IntegrityViolationList();
     $this->prepareExecutionMetadataStateBeforeTraversal($metadata_state);
     $apply_assertions = $apply_assertions && $this->allowsMetadataAssertions();
     foreach ($this as $child_expression) {
         $child_violations = $child_expression->checkIntegrity($metadata_state, $apply_assertions);
         $violation_list->addAll($child_violations);
     }
     $this->prepareExecutionMetadataStateAfterTraversal($metadata_state);
     return $violation_list;
 }
 /**
  * {@inheritdoc}
  */
 public function checkIntegrity(ExecutionMetadataStateInterface $metadata_state)
 {
     $violation_list = new IntegrityViolationList();
     foreach ($this->conditions as $uuid => $condition) {
         $condition_violations = $condition->checkIntegrity($metadata_state);
         foreach ($condition_violations as $violation) {
             $violation->setUuid($uuid);
         }
         $violation_list->addAll($condition_violations);
     }
     return $violation_list;
 }