public function insert($data, /*# int */ $priority = 0, $extra = null)
    {
        // fix priority
        $pri = $this->fixPriority((int) $priority);

        // generate key to be used (int)
        $key = $this->generateKey($pri);

        // make sure not duplicated
        $this->remove($data);

        // added to the queue
        $this->queue[$key] = [
            'data' => $data, 'priority' => $pri, 'extra' => $extra
        ];

        // mark as not sorted
        $this->sorted = false;

        return $this;
    }
public function insert($data, /*# int */ $priority = 0, $extra = null)
    {
        // fix priority
        $pri = $this->fixPriority((int) $priority);

        // generate key to be used (int)
        $key = $this->generateKey($pri);

        // make sure not duplicated
        $this->remove($data);

        // added to the queue
        $this->queue[$key] = [
            'data' => $data, 'priority' => $pri, 'extra' => $extra
        ];

        // mark as not sorted
        $this->sorted = false;

        return $this;
    }
{@inheritDoc}

@since  2.0.21 added extra data