public Map<String, Set<String>> identifyInterface(Set<String> interfaceNames, Set<String> classNames) throws ClassNotFoundException {
		this.interfaceFilter = (null == interfaceFilter) ? new HashSet<String>() : interfaceFilter;
		this.packageFilter = new HashSet<String>();
		this.jarFilter = new HashSet<String>();
		Map<String, Set<String>> classTable = new HashMap<String, Set<String>>();
		for (String className : classNames) {
			Set<String> interfaces = verifyClass(convertClassName(className));
			for (String interfaceName : interfaceNames) {
				if (interfaces.contains(interfaceName)) {
					Set<String> classList = classTable.get(interfaceName);
					if (null == classList) {
						classList = new HashSet<String>();
						classTable.put(interfaceName, classList);
					}
					if (!classList.contains(className)) classList.add(className);
				}
			}
		}
		return classTable;
	}