Source:
<code><START> public boolean matches(Configuration other) { <END> if (!clusteringConfiguration.matches(other.clusteringConfiguration)) return false; if (!compatibilityConfiguration.matches(other.compatibilityConfiguration)) return false; if (!customInterceptorsConfiguration.matches(other.customInterceptorsConfiguration)) return false; if (!dataContainerConfiguration.matches(other.dataContainerConfiguration)) return false; if (!deadlockDetectionConfiguration.matches(other.deadlockDetectionConfiguration)) return false; if (!evictionConfiguration.matches(other.evictionConfiguration)) return false; if (!expirationConfiguration.matches(other.expirationConfiguration)) return false; if (!indexingConfiguration.matches(other.indexingConfiguration)) return false; if (!invocationBatchingConfiguration.matches(other.invocationBatchingConfiguration)) return false; if (!jmxStatisticsConfiguration.matches(other.jmxStatisticsConfiguration)) return false; if (!lockingConfiguration.matches(other.lockingConfiguration)) return false; if (!memoryConfiguration.matches(other.memoryConfiguration)) return false; if (!persistenceConfiguration.matches(other.persistenceConfiguration)) return false; if (!securityConfiguration.matches(other.securityConfiguration)) return false; if (!sitesConfiguration.matches(other.sitesConfiguration)) return false; if (!storeAsBinaryConfiguration.matches(other.storeAsBinaryConfiguration)) return false; if (!transactionConfiguration.matches(other.transactionConfiguration)) return false; if (!unsafeConfiguration.matches(other.unsafeConfiguration)) return false; if (!versioningConfiguration.matches(other.versioningConfiguration)) return false; return attributes.matches(other.attributes); }</code><technical_language>missing modules configuration simple cache attribute</technical_language>

Target:
public boolean matches(Configuration other) { if (!simpleCache.get().equals(other.simpleCache.get())) return false; if (!clusteringConfiguration.matches(other.clusteringConfiguration)) return false; if (!compatibilityConfiguration.matches(other.compatibilityConfiguration)) return false; if (!customInterceptorsConfiguration.matches(other.customInterceptorsConfiguration)) return false; if (!dataContainerConfiguration.matches(other.dataContainerConfiguration)) return false; if (!deadlockDetectionConfiguration.matches(other.deadlockDetectionConfiguration)) return false; if (!evictionConfiguration.matches(other.evictionConfiguration)) return false; if (!expirationConfiguration.matches(other.expirationConfiguration)) return false; if (!indexingConfiguration.matches(other.indexingConfiguration)) return false; if (!invocationBatchingConfiguration.matches(other.invocationBatchingConfiguration)) return false; if (!jmxStatisticsConfiguration.matches(other.jmxStatisticsConfiguration)) return false; if (!lockingConfiguration.matches(other.lockingConfiguration)) return false; if (!memoryConfiguration.matches(other.memoryConfiguration)) return false; if (!persistenceConfiguration.matches(other.persistenceConfiguration)) return false; if (!securityConfiguration.matches(other.securityConfiguration)) return false; if (!sitesConfiguration.matches(other.sitesConfiguration)) return false; if (!storeAsBinaryConfiguration.matches(other.storeAsBinaryConfiguration)) return false; if (!transactionConfiguration.matches(other.transactionConfiguration)) return false; if (!unsafeConfiguration.matches(other.unsafeConfiguration)) return false; if (!versioningConfiguration.matches(other.versioningConfiguration)) return false; for(Map.Entry<Class<?>, ?> module : moduleConfiguration.entrySet()) { if (!other.moduleConfiguration.containsKey(module.getKey())) return false; Object thisModule = module.getValue(); Object thatModule = other.moduleConfiguration.get(module.getKey()); if (thisModule instanceof Matchable && (!((Matchable)thisModule).matches(thatModule))) return false; if (!thisModule.equals(thatModule)) return false; } return attributes.matches(other.attributes); }