boolean (Sdk newSdk) { if (mySdk == null || newSdk == null) return mySdk == newSdk; if (!mySdk.getName().equals(newSdk.getName())) return false; OrderRootType[] rootTypes = {OrderRootType.CLASSES, AnnotationOrderRootType.getInstance()}; for (OrderRootType rootType : rootTypes) { String[] myUrls = mySdk.getRootProvider().getUrls(rootType); String[] newUrls = newSdk.getRootProvider().getUrls(rootType); if (!ContainerUtil.newHashSet(myUrls).equals(ContainerUtil.newHashSet(newUrls))) return false; } return true; }