public function compound(Comparator $secondaryComparator) : Ordering
    {
        return Ordering::from(Collections::comparatorFrom(
            function ($object1, $object2) use ($secondaryComparator) {
                $res = $this->compare($object1, $object2);
                return $res !== 0 ? $res : $secondaryComparator->compare($object1, $object2);
            }
        ));
    }