public function removeRange($values) { if ($this->source !== null) { $this->source->removeRange($this->scheme->intersectionIterator($this->elements, $this->scheme->toIterator($values))); } else { $this->updateElements($this->scheme->exceptIterator($this->elements, $this->scheme->toIterator($values))); } }