public static boolean isMatch(MimeType a, MimeType b, boolean includeparams) {
try {
if (a == null || b == null) return true;
if (a.match(b)) {
if (includeparams) {
MimeTypeParameterList aparams = a.getParameters();
MimeTypeParameterList bparams = b.getParameters();
if (aparams.isEmpty() && bparams.isEmpty()) return true;
if (aparams.isEmpty() && !bparams.isEmpty()) return false;
if (!aparams.isEmpty() && bparams.isEmpty()) return false;
boolean answer = true;
for (Enumeration e = aparams.getNames(); e.hasMoreElements();) {
String aname = (String)e.nextElement();
String avalue = aparams.get(aname);
String bvalue = bparams.get(aname);
if (avalue.equals(bvalue)) answer = true;
else { answer = false; break; }
}
return answer;
} else return true;