/** * Returns data and options prepared to validate and marshall. * * @param array $data The data to prepare. * @param array $options The options passed to this marshaller. * @return array An array containing prepared data and options. */ protected function _prepareDataAndOptions($data, $options) { $options += ['validate' => true]; $data = new \ArrayObject($data); $options = new \ArrayObject($options); $this->type->dispatchEvent('Model.beforeMarshal', compact('data', 'options')); return [(array) $data, (array) $options]; }