private static PersistenceStrategy<?, ?, ?> getPerKindStrategy(EmbeddedCacheManager externalCacheManager, URL configUrl, JtaPlatform platform) {
		OnePerKindKeyProvider keyProvider = new OnePerKindKeyProvider();

		OnePerKindCacheManager cacheManager = externalCacheManager != null ?
				new OnePerKindCacheManager( externalCacheManager ) :
				new OnePerKindCacheManager( configUrl, platform, keyProvider );

		return new PersistenceStrategy<EntityKey, AssociationKey, IdSourceKey>( cacheManager, keyProvider );
	}
private static PersistenceStrategy < ? , ? , ? > getPerKindStrategy ( EmbeddedCacheManager externalCacheManager , URL configUrl , JtaPlatform platform ) { OnePerKindKeyProvider keyProvider = new OnePerKindKeyProvider ( ) ; OnePerKindCacheManager cacheManager = externalCacheManager != null ? new OnePerKindCacheManager ( externalCacheManager ) : new OnePerKindCacheManager ( configUrl , platform , keyProvider ) ; return new PersistenceStrategy < EntityKey , AssociationKey , IdSourceKey > ( cacheManager , keyProvider ) ; }
Returns the "per-kind" persistence strategy. Three caches will be used: one for entities, one for associations
and one for id sources.