import java.util.Comparator;
import java.util.Map;


/** 
 * Reverses order of any given Comparator.
 */
public class ReverseComparator implements Comparator
{
    // comparator to reverse
    private Comparator myComparator;


    /**
     * Create with Comparator whose value will be reversed.
     */
    public ReverseComparator (Comparator toReverse)
    {
        myComparator = toReverse;
    }


    /**
     * Returns a negative integer, zero, or a positive integer 
     * if the first argument is greater than, equal to, or less 
     * than the second, respectively.
     */
    public int compare (Object lhs, Object rhs)
    {
        return -myComparator.compare(lhs, rhs);
    }
}
