/**
  * Return true if $request_body contains a protected field.
  *
  * @param  EntityInterface|string $object_or_object_class
  * @param  array                  $request_body
  * @return bool
  */
 private function requestBodyContainsProtectedFields($object_or_object_class, array $request_body)
 {
     if ($object_or_object_class instanceof EntityInterface) {
         $protected_fields = $object_or_object_class instanceof ProtectedFieldsInterface ? $object_or_object_class->getProtectedFields() : [];
     } elseif (is_string($object_or_object_class)) {
         $object = $this->pool->produce($object_or_object_class, [], false);
         $protected_fields = $object instanceof ProtectedFieldsInterface ? $object->getProtectedFields() : [];
     } else {
         throw new InvalidArgumentException('Valid object instance of object class expected');
     }
     foreach (array_keys($request_body) as $field) {
         if (in_array($field, $protected_fields)) {
             return true;
         }
     }
     return false;
 }