Program: 94166
Project: 94166
Buggy source:
public void afterPropertiesSet() throws Exception {
  if (getServiceInterface() == null) {
    throw new IllegalArgumentException("String_Node_Str");
  }
  if (targetBeans == null) {
    throw new IllegalArgumentException("String_Node_Str");
  }
  for (  Map.Entry<String,Object> entry : targetBeans.entrySet()) {
    Object o=entry.getValue();
    if (!getServiceInterface().isAssignableFrom(o.getClass())) {
      throw new IllegalArgumentException("String_Node_Str" + entry.getKey() + "String_Node_Str");
    }
    if (!isAssignableFrom(getExtraServiceInterfaces(),o.getClass())) {
      throw new IllegalArgumentException("String_Node_Str" + entry.getKey() + "String_Node_Str");
    }
  }
  ProxyFactory pf=new ProxyFactory(getServiceInterface(),this);
  if (getExtraServiceInterfaces() != null) {
    for (    Class clazz : getExtraServiceInterfaces()) {
      pf.addInterface(clazz);
    }
  }
  this.serviceProxy=pf.getProxy(getBeanClassLoader());
  if (loadBalanceStrategy == null) {
    Map<String,Integer> lbFactors=new HashMap<String,Integer>();
    for (    String key : targetBeans.keySet()) {
      lbFactors.put(key,DEFAULT_LB_FACTOR);
    }
    loadBalanceStrategy=new RoundRobinLoadBalanceStrategy(lbFactors);
  }
 else {
    Set<String> targets=loadBalanceStrategy.getTargets();
    if (targets == null || targets.isEmpty()) {
      throw new IllegalArgumentException("String_Node_Str");
    }
    for (    String key : targets) {
      if (!targetBeans.containsKey(key)) {
        throw new IllegalArgumentException("String_Node_Str" + key + "String_Node_Str");
      }
    }
  }
  targetBeans=Collections.synchronizedMap(targetBeans);
  if (!isFailOver()) {
    LOGGER.warn("String_Node_Str");
  }
}

Fixed version (ground truth):
public void afterPropertiesSet() throws Exception {
  if (getServiceInterface() == null) {
    throw new IllegalArgumentException("String_Node_Str");
  }
  if (targetBeans == null) {
    throw new IllegalArgumentException("String_Node_Str");
  }
  for (  Map.Entry<String,Object> entry : targetBeans.entrySet()) {
    Object o=entry.getValue();
    if (!getServiceInterface().isAssignableFrom(o.getClass())) {
      throw new IllegalArgumentException("String_Node_Str" + entry.getKey() + "String_Node_Str");
    }
    if (!isAssignableFrom(getExtraServiceInterfaces(),o.getClass())) {
      throw new IllegalArgumentException("String_Node_Str" + entry.getKey() + "String_Node_Str");
    }
  }
  ProxyFactory pf=new ProxyFactory(getServiceInterface(),this);
  if (getExtraServiceInterfaces() != null) {
    for (    Class clazz : getExtraServiceInterfaces()) {
      pf.addInterface(clazz);
    }
  }
  this.serviceProxy=pf.getProxy(getBeanClassLoader());
  if (loadBalanceStrategy == null) {
    Map<String,Integer> lbFactors=new HashMap<String,Integer>();
    for (    String key : targetBeans.keySet()) {
      lbFactors.put(key,DEFAULT_LB_FACTOR);
    }
    loadBalanceStrategy=new RoundRobinLoadBalanceStrategy(lbFactors);
  }
 else {
    Set<String> targets=loadBalanceStrategy.getTargets();
    if (targets == null || targets.isEmpty()) {
      throw new IllegalArgumentException("String_Node_Str");
    }
    for (    String key : targets) {
      if (!targetBeans.containsKey(key)) {
        throw new IllegalArgumentException("String_Node_Str" + key + "String_Node_Str");
      }
    }
  }
  targetBeans=Collections.synchronizedMap(targetBeans);
  if (!isFailOver()) {
    LOGGER.log(Level.WARNING,"String_Node_Str");
  }
}