Program: 50156
Project: 50156
Buggy source:
public static HazelcastInstanceProxy newHazelcastInstanceProxy(Config config){
  FactoryImpl factory=null;
  try {
synchronized (factoryLock) {
      if (config == null) {
        config=new XmlConfigBuilder().build();
      }
      String name="String_Node_Str" + nextFactoryId++ + "String_Node_Str"+ config.getGroupConfig().getName();
      factory=new FactoryImpl(name,config);
      FactoryImpl old=factories.put(name,factory);
      if (old != null) {
        factory.logger.log(Level.SEVERE,"String_Node_Str" + name + "String_Node_Str");
        throw new RuntimeException();
      }
    }
    boolean firstMember=(factory.node.getClusterImpl().getMembers().iterator().next().localMember());
    int initialWaitSeconds=factory.node.groupProperties.INITIAL_WAIT_SECONDS.getInteger();
    if (initialWaitSeconds > 0) {
      try {
        Thread.sleep(initialWaitSeconds * 1000);
        if (firstMember) {
          final ConcurrentMapManager concurrentMapManager=factory.node.concurrentMapManager;
          concurrentMapManager.enqueueAndReturn(new Processable(){
            public void process(){
              concurrentMapManager.partitionManager.quickBlockRearrangement();
            }
          }
);
        }
 else {
          Thread.sleep(4 * 1000);
        }
      }
 catch (      InterruptedException ignored) {
      }
    }
    factory.lifecycleService.fireLifecycleEvent(STARTED);
    return factory.hazelcastInstanceProxy;
  }
 catch (  Throwable t) {
    if (factory != null) {
      factory.logger.log(Level.SEVERE,t.getMessage(),t);
    }
    throw new RuntimeException(t);
  }
}

Fixed version (ground truth):
public static HazelcastInstanceProxy newHazelcastInstanceProxy(Config config){
  FactoryImpl factory=null;
  try {
synchronized (factoryLock) {
      if (config == null) {
        config=new XmlConfigBuilder().build();
      }
      int classLoaderHash=FactoryImpl.class.getClassLoader().hashCode();
      String name="String_Node_Str" + classLoaderHash + "String_Node_Str"+ nextFactoryId+++ "String_Node_Str"+ config.getGroupConfig().getName();
      factory=new FactoryImpl(name,config);
      FactoryImpl old=factories.put(name,factory);
      if (old != null) {
        factory.logger.log(Level.SEVERE,"String_Node_Str" + name + "String_Node_Str");
        throw new RuntimeException();
      }
    }
    boolean firstMember=(factory.node.getClusterImpl().getMembers().iterator().next().localMember());
    int initialWaitSeconds=factory.node.groupProperties.INITIAL_WAIT_SECONDS.getInteger();
    if (initialWaitSeconds > 0) {
      try {
        Thread.sleep(initialWaitSeconds * 1000);
        if (firstMember) {
          final ConcurrentMapManager concurrentMapManager=factory.node.concurrentMapManager;
          concurrentMapManager.enqueueAndReturn(new Processable(){
            public void process(){
              concurrentMapManager.partitionManager.quickBlockRearrangement();
            }
          }
);
        }
 else {
          Thread.sleep(4 * 1000);
        }
      }
 catch (      InterruptedException ignored) {
      }
    }
    factory.lifecycleService.fireLifecycleEvent(STARTED);
    return factory.hazelcastInstanceProxy;
  }
 catch (  Throwable t) {
    if (factory != null) {
      factory.logger.log(Level.SEVERE,t.getMessage(),t);
    }
    throw new RuntimeException(t);
  }
}