code: func (f *FitError) Error() string {
  	reasons := make(map[string]int)
  	for _, predicates := range f.FailedPredicates {
  		for _, pred := range predicates {
  			reasons[pred.GetReason()]++
  		}
  	}
  
  	sortReasonsHistogram := func() []string {
  		reasonStrings := []string{}
  		for k, v := range reasons {
  			reasonStrings = append(reasonStrings, fmt.Sprintf("%v %v", v, k))
  		}
  		sort.Strings(reasonStrings)
  		return reasonStrings
  	}
  	reasonMsg := fmt.Sprintf(NoNodeAvailableMsg+": %v.", f.NumAllNodes, strings.Join(sortReasonsHistogram(), ", "))
  	return reasonMsg
  }
docs: // Error returns detailed information of why the pod failed to fit on each node