MimeTypeHelper { public static String[] condense(String... types) { if (types.length <= 1) return types; List<String> res = new ArrayList<String>(); Arrays.sort(types, getComparator()); for (String t : types) { if (!contains(t, res, true)) res.add(t); } for (int n = 0; n < res.size(); n++) { String t = res.get(n); if (contains(t, res, false)) res.remove(t); } return res.toArray(new String[res.size()]); }  static String getCharset(String mediatype); static boolean isMatch(String a, String b); static boolean isMatch(MimeType a, MimeType b); @SuppressWarnings("unchecked") static boolean isMatch(MimeType a, MimeType b, boolean includeparams); static boolean isApp(String a); static boolean isAtom(String a); static boolean isEntry(String a); static boolean isFeed(String a); static boolean isXml(String a); static boolean isText(String a); static boolean isMimeType(String a); @SuppressWarnings("unchecked") static String getMimeType(T base); static String[] condense(String... types); static Comparator<String> getComparator(); static int compare(MimeType mt1, MimeType mt2); static int compare(String t1, String t2); static boolean isMultipart(String a);  }
@Test public void testCondense() { String[] types = MimeTypeHelper.condense("image/png", "image/gif", "image/png", "image/*"); assertEquals(1, types.length); assertEquals("image/*", types[0]); }