Program: 49327
Project: 49327
Buggy source:
public MapContainer(String name,MapConfig mapConfig,MapService mapService){
  MapStore storeTemp=null;
  this.name=name;
  this.mapConfig=mapConfig;
  this.mapService=mapService;
  MapStoreConfig mapStoreConfig=mapConfig.getMapStoreConfig();
  NodeEngine nodeEngine=mapService.getNodeEngine();
  if (mapStoreConfig != null) {
    try {
      MapStoreFactory factory=(MapStoreFactory)mapStoreConfig.getFactoryImplementation();
      if (factory == null) {
        String factoryClassName=mapStoreConfig.getFactoryClassName();
        if (factoryClassName != null && !"String_Node_Str".equals(factoryClassName)) {
          factory=(MapStoreFactory)ClassLoaderUtil.newInstance(factoryClassName);
        }
      }
      storeTemp=(MapStore)(factory == null ? mapStoreConfig.getImplementation() : factory.newMapStore(name,mapStoreConfig.getProperties()));
      if (storeTemp == null) {
        String mapStoreClassName=mapStoreConfig.getClassName();
        storeTemp=ClassLoaderUtil.newInstance(mapStoreClassName);
      }
    }
 catch (    Exception e) {
      ExceptionUtil.rethrow(e);
      storeTemp=null;
    }
  }
  store=storeTemp;
  if (store != null) {
    if (store instanceof MapLoaderLifecycleSupport) {
      ((MapLoaderLifecycleSupport)store).init(nodeEngine.getHazelcastInstance(),mapConfig.getMapStoreConfig().getProperties(),name);
    }
    if (nodeEngine.getClusterService().isMaster() && initialLoaded.compareAndSet(false,true)) {
      loadMapFromStore(true);
      Collection<MemberImpl> members=nodeEngine.getClusterService().getMemberList();
      Operation operation=new MapInitialLoadOperation(name);
      for (      Member member : members) {
        try {
          if (member.localMember())           continue;
          MemberImpl memberImpl=(MemberImpl)member;
          Invocation invocation=nodeEngine.getOperationService().createInvocationBuilder(SERVICE_NAME,operation,memberImpl.getAddress()).build();
          invocation.invoke();
        }
 catch (        Throwable t) {
          throw ExceptionUtil.rethrow(t);
        }
      }
    }
 else {
      mapReady=true;
    }
    if (mapStoreConfig.getWriteDelaySeconds() > 0) {
      mapStoreWriteScheduler=EntryTaskSchedulerFactory.newScheduler(nodeEngine.getExecutionService().getScheduledExecutor(),new MapStoreWriteProcessor(this,mapService),false);
      mapStoreDeleteScheduler=EntryTaskSchedulerFactory.newScheduler(nodeEngine.getExecutionService().getScheduledExecutor(),new MapStoreDeleteProcessor(this,mapService),false);
    }
 else {
      mapStoreDeleteScheduler=null;
      mapStoreWriteScheduler=null;
    }
  }
 else {
    mapReady=true;
    mapStoreDeleteScheduler=null;
    mapStoreWriteScheduler=null;
  }
  ttlEvictionScheduler=EntryTaskSchedulerFactory.newScheduler(nodeEngine.getExecutionService().getScheduledExecutor(),new EvictionProcessor(nodeEngine,mapService,name),true);
  idleEvictionScheduler=EntryTaskSchedulerFactory.newScheduler(nodeEngine.getExecutionService().getScheduledExecutor(),new EvictionProcessor(nodeEngine,mapService,name),true);
  WanReplicationRef wanReplicationRef=mapConfig.getWanReplicationRef();
  if (wanReplicationRef != null) {
    this.wanReplicationPublisher=nodeEngine.getWanReplicationService().getWanReplicationListener(wanReplicationRef.getName());
    this.wanMergePolicy=mapService.getMergePolicy(wanReplicationRef.getMergePolicy());
  }
 else {
    wanMergePolicy=null;
    wanReplicationPublisher=null;
  }
  interceptors=new CopyOnWriteArrayList<MapInterceptor>();
  interceptorMap=new ConcurrentHashMap<String,MapInterceptor>();
  interceptorIdMap=new ConcurrentHashMap<MapInterceptor,String>();
  nearCacheEnabled=mapConfig.getNearCacheConfig() != null;
}

Fixed version (ground truth):
public MapContainer(String name,MapConfig mapConfig,MapService mapService){
  MapStore storeTemp=null;
  this.name=name;
  this.mapConfig=mapConfig;
  this.mapService=mapService;
  MapStoreConfig mapStoreConfig=mapConfig.getMapStoreConfig();
  NodeEngine nodeEngine=mapService.getNodeEngine();
  if (mapStoreConfig != null) {
    try {
      MapStoreFactory factory=(MapStoreFactory)mapStoreConfig.getFactoryImplementation();
      if (factory == null) {
        String factoryClassName=mapStoreConfig.getFactoryClassName();
        if (factoryClassName != null && !"String_Node_Str".equals(factoryClassName)) {
          factory=(MapStoreFactory)ClassLoaderUtil.newInstance(factoryClassName);
        }
      }
      storeTemp=(MapStore)(factory == null ? mapStoreConfig.getImplementation() : factory.newMapStore(name,mapStoreConfig.getProperties()));
      if (storeTemp == null) {
        String mapStoreClassName=mapStoreConfig.getClassName();
        storeTemp=ClassLoaderUtil.newInstance(mapStoreClassName);
      }
    }
 catch (    Exception e) {
      ExceptionUtil.rethrow(e);
      storeTemp=null;
    }
  }
  store=storeTemp;
  if (store != null) {
    if (store instanceof MapLoaderLifecycleSupport) {
      ((MapLoaderLifecycleSupport)store).init(nodeEngine.getHazelcastInstance(),mapConfig.getMapStoreConfig().getProperties(),name);
    }
    if (nodeEngine.getClusterService().isMaster() && initialLoaded.compareAndSet(false,true)) {
      loadMapFromStore(true);
      Collection<MemberImpl> members=nodeEngine.getClusterService().getMemberList();
      for (      Member member : members) {
        try {
          if (member.localMember())           continue;
          MemberImpl memberImpl=(MemberImpl)member;
          Invocation invocation=nodeEngine.getOperationService().createInvocationBuilder(SERVICE_NAME,new MapInitialLoadOperation(name),memberImpl.getAddress()).build();
          invocation.invoke();
        }
 catch (        Throwable t) {
          throw ExceptionUtil.rethrow(t);
        }
      }
    }
 else {
      mapReady=true;
    }
    if (mapStoreConfig.getWriteDelaySeconds() > 0) {
      mapStoreWriteScheduler=EntryTaskSchedulerFactory.newScheduler(nodeEngine.getExecutionService().getScheduledExecutor(),new MapStoreWriteProcessor(this,mapService),false);
      mapStoreDeleteScheduler=EntryTaskSchedulerFactory.newScheduler(nodeEngine.getExecutionService().getScheduledExecutor(),new MapStoreDeleteProcessor(this,mapService),false);
    }
 else {
      mapStoreDeleteScheduler=null;
      mapStoreWriteScheduler=null;
    }
  }
 else {
    mapReady=true;
    mapStoreDeleteScheduler=null;
    mapStoreWriteScheduler=null;
  }
  ttlEvictionScheduler=EntryTaskSchedulerFactory.newScheduler(nodeEngine.getExecutionService().getScheduledExecutor(),new EvictionProcessor(nodeEngine,mapService,name),true);
  idleEvictionScheduler=EntryTaskSchedulerFactory.newScheduler(nodeEngine.getExecutionService().getScheduledExecutor(),new EvictionProcessor(nodeEngine,mapService,name),true);
  WanReplicationRef wanReplicationRef=mapConfig.getWanReplicationRef();
  if (wanReplicationRef != null) {
    this.wanReplicationPublisher=nodeEngine.getWanReplicationService().getWanReplicationListener(wanReplicationRef.getName());
    this.wanMergePolicy=mapService.getMergePolicy(wanReplicationRef.getMergePolicy());
  }
 else {
    wanMergePolicy=null;
    wanReplicationPublisher=null;
  }
  interceptors=new CopyOnWriteArrayList<MapInterceptor>();
  interceptorMap=new ConcurrentHashMap<String,MapInterceptor>();
  interceptorIdMap=new ConcurrentHashMap<MapInterceptor,String>();
  nearCacheEnabled=mapConfig.getNearCacheConfig() != null;
}