function Remove($item)
    {
        $prev = $this->provider->PreviousOf($item);
        $next = $this->provider->NextOf($item);
        if ($next)
        {
            $this->provider->SetPrevious($next, $prev);
        }
        $this->provider->Delete($item);
        if ($next) 
        {
            $this->provider->Save($next);
        }
    }