public function reduce(array $keys) : self
    {
        $entries = array_intersect_key($this->getItems()->getArrayCopy(), array_flip(array_values($keys)));
        $this->getItems()->exchangeArray($entries);
        return $this;
    }