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;
            }
        }
    }