code: func (q *Quadtree) FindMatching(p *geo.Point, f Filter) geo.Pointer {
  	if q.root == nil {
  		return nil
  	}
  
  	v := &findVisitor{
  		point:          p,
  		filter:         f,
  		closestBound:   q.bound.Clone(),
  		maxDistSquared: math.MaxFloat64,
  	}
  
  	newVisit(v).Visit(q.root,
  		q.bound.Left(), q.bound.Right(),
  		q.bound.Bottom(), q.bound.Top(),
  	)
  
  	return v.closest
  }
docs: // FindMatching returns the closest Value/Pointer in the quadtree for which
  // the given filter function returns true. This function is thread safe.
  // Multiple goroutines can read from a pre-created tree.