@Override
    public int compareTo(Object o) {
        Codon c = (Codon)o;
        
        if (c.getN1() == n1) {
            if (c.getN2() == n2) {
                if (c.getN3() == n3) {
                    return 0;
                } else if (c.getN3() < n3) {
                    return 1;
                } else {
                    return -1;
                }
            } else if (c.getN2() < n2) {
                return 1;
            } else {
                return -1;
            }
        } else if (c.getN1() < n1) {
            return 1;
        } else {
            return -1;
        }
    }