public function removeDataEntry(array $values) { if ($this->isDetached) { throw new InvalidStateException('Cannot remove data entry to detached Result.'); } foreach ($this->data as $key => $entry) { if (array_diff_assoc($values, $entry) === []) { $this->removed[] = $entry; unset($this->data[$key], $this->modified[$key]); break; } } }