if (re.getExporter().isResolvable() && exp.getName().equals(re.getName()) && !imp.isOnRootPath(re.getExporter()) && !imp.isOnRootPathSplit(imp.getMatchingExport().getExporter(), re.getExporter()))
if (re.getExporter().isResolvable() && exp.getName().equals(re.getName()) && !ResolverExport.isOnRootPath(re.getExporter(), imp.getMatchingExport()) && !imp.isOnRootPathSplit(imp.getMatchingExport().getExporter(), re.getExporter()))
	ResolverExport isConsistent(ResolverImport imp, ResolverExport exp) {		// Check imports are consistent		ResolverImport[] imports = imp.getBundle().getImportPackages();		BundleConstraint[] requires = imp.getBundle().getRequires();		for (int i = 0; i < imports.length; i++) {			// Check new wiring against constraints from previous wirings			ResolverExport wire = imports[i].getMatchingExport();			if (wire == null)				continue;			ArrayList list = (ArrayList) constraints.get(wire);			if (list != null) {				for (int j = 0; j < list.size(); j++) {					ResolverExport re = (ResolverExport) list.get(j);					if (re.isDropped())						continue;					if (re.getExporter().isResolvable() && exp.getName().equals(re.getName()) && !imp.isOnRootPath(re.getExporter()) && !imp.isOnRootPathSplit(imp.getMatchingExport().getExporter(), re.getExporter()))						return wire;				}			}			// Check previous wirings against constraints from new wiring			list = (ArrayList) constraints.get(exp);			if (list != null) {				for (int j = 0; j < list.size(); j++) {					ResolverExport re = (ResolverExport) list.get(j);					if (re.isDropped())						continue;					if (re.getExporter().isResolvable() && wire.getName().equals(re.getName()) && !imports[i].isOnRootPath(re.getExporter()) && !imp.isOnRootPathSplit(imp.getMatchingExport().getExporter(), re.getExporter()))						return wire;					// Check against requires					for (int k = 0; k < requires.length; k++) {						if (requires[k].getMatchingBundle() == null)							continue;						ResolverExport[] exports = requires[k].getMatchingBundle().getExportPackages();						for (int m = 0; m < exports.length; m++) {							if (re.getExporter().isResolvable() && exports[m].getName().equals(re.getName()) && !exports[m].isOnRootPath(re.getExporter()))								return re;						}					}				}			}		}		// Check imports against requires		for (int i = 0; i < requires.length; i++) {			if (requires[i].getMatchingBundle() == null)				continue;			ResolverExport[] exports = requires[i].getMatchingBundle().getExportPackages();			for (int j = 0; j < exports.length; j++) {				ArrayList list = (ArrayList) constraints.get(exports[j]);				if (list != null) {					for (int k = 0; k < list.size(); k++) {						ResolverExport re = (ResolverExport) list.get(k);						if (re.getExporter().isResolvable() && exp.getName().equals(re.getName()) && !imp.isOnRootPath(re.getExporter()))							return re;					}				}			}		}		// No clash, so return null		return null;	}