code: func (slist *syncedList) InsertBefore(
  	v interface{}, mark *list.Element) *list.Element {
  
  	slist.Lock()
  	defer slist.Unlock()
  
  	return slist.queue.InsertBefore(v, mark)
  }
docs: // InsertBefore inserts v before mark.