## Why is this an issue?

A non-serializable `Comparator` can prevent an otherwise-`Serializable` ordered collection from being serializable. Since the overhead to make a `Comparator` serializable is usually low, doing so can be considered good defensive programming.

### Noncompliant code example

    public class FruitComparator implements Comparator<Fruit> {  // Noncompliant
      int compare(Fruit f1, Fruit f2) {...}
      boolean equals(Object obj) {...}
    }

### Compliant solution

    public class FruitComparator implements Comparator<Fruit>, Serializable {
      private static final long serialVersionUID = 1;

      int compare(Fruit f1, Fruit f2) {...}
      boolean equals(Object obj) {...}
    }