code: func (s *Sublist) Insert(subject string, element interface{}) error {
  	tsa := [32]string{}
  	tokens := tsa[:0]
  	start := 0
  	for i := 0; i < len(subject); i++ {
  		if subject[i] == btsep {
  			tokens = append(tokens, subject[start:i])
  			start = i + 1
  		}
  	}
  	tokens = append(tokens, subject[start:])
  
  	s.Lock()
  
  	sfwc := false
  	l := s.root
  	var n *node
  
  	for _, t := range tokens {
  		if len(t) == 0 || sfwc {
  			s.Unlock()
  			return ErrInvalidSubject
  		}
  
  		switch t[0] {
  		case pwc:
  			n = l.pwc
  		case fwc:
  			n = l.fwc
  			sfwc = true
  		default:
  			n = l.nodes[t]
  		}
  		if n == nil {
  			n = newNode()
  			switch t[0] {
  			case pwc:
  				l.pwc = n
  			case fwc:
  				l.fwc = n
  			default:
  				l.nodes[t] = n
  			}
  		}
  		if n.next == nil {
  			n.next = newLevel()
  		}
  		l = n.next
  	}
  	n.elements = append(n.elements, element)
  	s.addToCache(subject, element)
  	s.count++
  	s.Unlock()
  	return nil
  }
docs: // Insert adds a subscription into the sublist