code: protected static void cacheTypesByHierachy(final Type _type)
          throws CacheReloadException
      {
          final Cache<UUID, Type> cache4UUID = InfinispanCache.get().<UUID, Type>getIgnReCache(Type.UUIDCACHE);
          if (cache4UUID.getCacheConfiguration().clustering() != null
                          && !cache4UUID.getCacheConfiguration().clustering().cacheMode().equals(CacheMode.LOCAL)) {
              Type type = _type;
              while (type.getParentTypeId() != null) {
                  final Cache<Long, Type> cache = InfinispanCache.get().<Long, Type>getIgnReCache(Type.IDCACHE);
                  if (cache.containsKey(type.getParentTypeId())) {
                      type = cache.get(type.getParentTypeId());
                  } else {
                      type = type.getParentType();
                  }
              }
              type.recacheChildren();
          }
      }
docs: In case of a cluster the types must be cached after the final loading
  again to be sure that the last instance including all the changes like
  attribute links etc are up to date.
  
  @param _type Type the Hierachy must be cached
  @throws CacheReloadException on error