public boolean contains(final Object o) {
		if(o instanceof MimeType) {
			return hashSet.contains(o);
		} else if(o instanceof Collection) {
			return containsAll((Collection)o);
		} else if(o instanceof String) {
			String [] parts = ((String) o).split(",");
			for(int i = 0; i < parts.length; i++) {
				if(!contains(new MimeType(parts[i]))) {
					return false;
				}
			}
			return true;
		} else if(o instanceof String []) {
			String [] mimeTypes = (String [])o;
			for(int i = 0; i < mimeTypes.length; i++) {
				String [] parts = mimeTypes[i].split(",");
				for(int j = 0; j < parts.length; j++) {
					if(!contains(new MimeType(parts[j]))) {
						return false;
					}
				}
			}
			return true;
		}
		return false;
	}