1. @override
int compareTo(PackageCategory other)

Compares this object to another Comparable

Returns a value like a Comparator when comparing this to other. That is, it returns a negative integer if this is ordered before other, a positive integer if this is ordered after other, and zero if this and other are ordered together.

The other argument must be a value that is comparable to this object.

Source

@override
int compareTo(PackageCategory other) {
  if (_group == other._group) {
    if (_group == -1) {
      return Comparable.compare(config.categoryOrder.indexOf(name),
          config.categoryOrder.indexOf(other.name));
    } else {
      return name.toLowerCase().compareTo(other.name.toLowerCase());
    }
  }
  return Comparable.compare(_group, other._group);
}