public function insertAt($index, $item)
{
if ($this->getReadOnly()) {
throw new TInvalidOperationException('list_readonly', get_class($this));
}
if (($priority = $this->priorityAt($index, true)) !== false) {
$this->insertAtIndexInPriority($item, $priority[1], $priority[0]);
} else {
throw new TInvalidDataValueException('list_index_invalid', $index);
}
}