docs: public DistributedObjectFuture getOrCreateProxyFuture(String name, boolean publishEvent, boolean initialize) {
          DistributedObjectFuture proxyFuture = proxies.get(name);
          if (proxyFuture == null) {
              if (!proxyService.nodeEngine.isRunning()) {
                  throw new HazelcastInstanceNotActiveException();
              }
              proxyFuture = createProxy(name, publishEvent, initialize);
              if (proxyFuture == null) {
                  return getOrCreateProxyFuture(name, publishEvent, initialize);
              }
          }
          return proxyFuture;
      }