code: func (n *node) directoryStaticSet() ([]*schema.Blob, error) {
  	var members []blob.Ref
  	ss := schema.NewStaticSet()
  	for _, c := range n.children {
  		pr, err := c.PutResult()
  		if err != nil {
  			return nil, fmt.Errorf("Error populating directory static set for child %q: %v", c.fullPath, err)
  		}
  		members = append(members, pr.BlobRef)
  	}
  	subsets := ss.SetStaticSetMembers(members)
  	allSets := []*schema.Blob{ss.Blob()}
  	allSets = append(allSets, subsets...)
  	return allSets, nil
  }
docs: // directoryStaticSet returns the set of static-set schemas that represent the
  // children of n. If the number of children is small (<10000), they're all members
  // of the first (and only) static-set returned. Otherwise they are split and spread
  // on several subsets (i.e. "mergeSets") which are all returned.