docs: public static HazelcastInstance newHazelcastInstance(Config config, String instanceName, NodeContext nodeContext) {
          if (config == null) {
              config = new XmlConfigBuilder().build();
          }
  
          String name = getInstanceName(instanceName, config);
  
          InstanceFuture future = new InstanceFuture();
          if (INSTANCE_MAP.putIfAbsent(name, future) != null) {
              throw new DuplicateInstanceNameException("HazelcastInstance with name '" + name + "' already exists!");
          }
  
          try {
              return constructHazelcastInstance(config, name, nodeContext, future);
          } catch (Throwable t) {
              INSTANCE_MAP.remove(name, future);
              future.setFailure(t);
              throw ExceptionUtil.rethrow(t);
          }
      }