code: public static int inconsistentCompare(MimeType o1, MimeType o2) {
          if ((o1 == null) && (o2 == null)) {
              return 0;
          }
          if (o1 == null) {
              return 1;
          }
          if (o2 == null) {
              return -1;
          }
          int wilchCharComparison = compareByWildCardCount(o1, o2);
          if (wilchCharComparison == 0) {
              float q1 = getQ(o1);
              float q2 = getQ(o2);
              if (q1 == q2) {
                  return fallBackCompare(o1, o2);
              }
              if (q1 > q2) {
                  return -1;
              } else {
                  return 1;
              }
          } else {
              return wilchCharComparison;
          }
      }
docs: this is not consistent with equals
  
  @param o1
  @param o2
  @return a negative value if the quality of o1 is higher, a positive when it is lower, 0 otherwise