public function remove($pos = 0, $reindex_after_remove = false)
{
if (in_array($pos, array_keys($this->segments))) {
unset($this->segments[$pos]);
if ($reindex_after_remove) {
$this->segments = array_values($this->segments);
}
return $this;
} else {
throw new OutOfRangeException('Refering to non existent Segment position!');
}
}