Program: 161210
Project: 161210
Buggy source:
@Autowired public SourceContext(@Value("String_Node_Str") final String mainSourceNameString,@Value("String_Node_Str") final String additionalSourceNames,@Value("String_Node_Str") final String grsSourceNames,@Value("String_Node_Str") final String nrtmSourceNames,@Value("String_Node_Str") final String grsSourceNamesForDummification,@Value("String_Node_Str") final String grsSourceNamesToTagRoutes,@Value("String_Node_Str") final String grsMasterBaseUrl,@Value("String_Node_Str") final String whoisMasterUsername,@Value("String_Node_Str") final String whoisMasterPassword,@Value("String_Node_Str") final String grsSlaveBaseUrl,@Value("String_Node_Str") final String whoisSlaveUsername,@Value("String_Node_Str") final String whoisSlavePassword,@Qualifier("String_Node_Str") final DataSource whoisMasterDataSource,@Qualifier("String_Node_Str") final DataSource whoisSlaveDataSource,final DataSourceFactory dataSourceFactory){
  mainSourceName=ciString(mainSourceNameString);
  this.mainMasterSource=Source.master(mainSourceName);
  this.mainSlaveSource=Source.slave(mainSourceName);
  final Set<CIString> additionalSources=Sets.newLinkedHashSet();
  final Set<CIString> grsSources=Sets.newLinkedHashSet();
  final Map<CIString,CIString> aliases=Maps.newLinkedHashMap();
  sourceConfigurations.put(mainMasterSource,new SourceConfiguration(mainMasterSource,whoisMasterDataSource));
  sourceConfigurations.put(mainSlaveSource,new SourceConfiguration(mainSlaveSource,whoisSlaveDataSource));
  final Iterable<CIString> grsSourceNameIterable=Iterables.transform(COMMA_SPLITTER.split(grsSourceNames),new Function<String,CIString>(){
    @Nullable @Override public CIString apply(    final String input){
      return ciString(input);
    }
  }
);
  final Iterable<CIString> nrtmSourceNameIterable=Iterables.transform(COMMA_SPLITTER.split(nrtmSourceNames),new Function<String,CIString>(){
    @Nullable @Override public CIString apply(    final String input){
      return ciString(input);
    }
  }
);
  for (  final CIString grsSourceName : Iterables.concat(grsSourceNameIterable,nrtmSourceNameIterable)) {
    if (!grsSourceName.endsWith(ciString("String_Node_Str"))) {
      LOGGER.warn("String_Node_Str",grsSourceName);
      continue;
    }
    if (!grsSources.add(grsSourceName)) {
      LOGGER.warn("String_Node_Str",grsSourceName);
      continue;
    }
    final Source grsMasterSource=Source.master(grsSourceName);
    final Source grsSlaveSource=Source.slave(grsSourceName);
    if (grsSourceName.contains(mainSourceName)) {
      LOGGER.info("String_Node_Str",grsSourceName,mainSourceName);
      aliases.put(grsSourceName,mainSlaveSource.getName());
      sourceConfigurations.put(grsMasterSource,new SourceConfiguration(grsMasterSource,whoisMasterDataSource));
      sourceConfigurations.put(grsSlaveSource,new SourceConfiguration(grsSlaveSource,whoisSlaveDataSource));
    }
 else {
      final String grsSlaveUrl=createGrsUrl(grsSlaveBaseUrl,grsSourceName);
      final DataSource grsSlaveDataSource=dataSourceFactory.createDataSource(grsSlaveUrl,whoisSlaveUsername,whoisSlavePassword);
      sourceConfigurations.put(grsSlaveSource,new SourceConfiguration(grsSlaveSource,grsSlaveDataSource));
      final String grsMasterUrl=createGrsUrl(grsMasterBaseUrl,grsSourceName);
      final DataSource grsMasterDataSource=dataSourceFactory.createDataSource(grsMasterUrl,whoisMasterUsername,whoisMasterPassword);
      sourceConfigurations.put(grsMasterSource,new SourceConfiguration(grsMasterSource,grsMasterDataSource));
    }
  }
  LOGGER.info("String_Node_Str",sourceConfigurations.keySet());
  this.grsSourceNames=Collections.unmodifiableSet(grsSources);
  this.grsSourceNamesForDummification=ciSet(COMMA_SPLITTER.split(grsSourceNamesForDummification));
  this.grsSourceNamesToTagRoutes=ciSet(COMMA_SPLITTER.split(grsSourceNamesToTagRoutes));
  this.aliases=Collections.unmodifiableMap(aliases);
  this.allSourceNames=Collections.unmodifiableSet(Sets.newLinkedHashSet(Iterables.transform(sourceConfigurations.keySet(),new Function<Source,CIString>(){
    @Nullable @Override public CIString apply(    final Source source){
      return source.getName();
    }
  }
)));
  for (  final CIString sourceName : CIString.ciSet(COMMA_SPLITTER.split(additionalSourceNames))) {
    if (this.allSourceNames.contains(sourceName)) {
      additionalSources.add(sourceName);
    }
 else {
      LOGGER.error("String_Node_Str",sourceName);
      throw new IllegalSourceException(sourceName.toString());
    }
  }
  this.additionalSourceNames=Collections.unmodifiableSet(additionalSources);
  if (!additionalSources.isEmpty()) {
    LOGGER.info("String_Node_Str",additionalSources);
  }
}

Fixed version (ground truth):
@Autowired public SourceContext(@Value("String_Node_Str") final String mainSourceNameString,@Value("String_Node_Str") final String additionalSourceNames,@Value("String_Node_Str") final String grsSourceNames,@Value("String_Node_Str") final String nrtmSourceNames,@Value("String_Node_Str") final String grsSourceNamesForDummification,@Value("String_Node_Str") final String grsSourceNamesToTagRoutes,@Value("String_Node_Str") final String grsMasterBaseUrl,@Value("String_Node_Str") final String whoisMasterUsername,@Value("String_Node_Str") final String whoisMasterPassword,@Value("String_Node_Str") final String grsSlaveBaseUrl,@Value("String_Node_Str") final String whoisSlaveUsername,@Value("String_Node_Str") final String whoisSlavePassword,@Qualifier("String_Node_Str") final DataSource whoisMasterDataSource,@Qualifier("String_Node_Str") final DataSource whoisSlaveDataSource,final DataSourceFactory dataSourceFactory){
  mainSourceName=ciString(mainSourceNameString);
  this.mainMasterSource=Source.master(mainSourceName);
  this.mainSlaveSource=Source.slave(mainSourceName);
  final Set<CIString> additionalSources=Sets.newLinkedHashSet();
  final Set<CIString> grsSources=Sets.newLinkedHashSet();
  final Map<CIString,CIString> newAliases=Maps.newLinkedHashMap();
  sourceConfigurations.put(mainMasterSource,new SourceConfiguration(mainMasterSource,whoisMasterDataSource));
  sourceConfigurations.put(mainSlaveSource,new SourceConfiguration(mainSlaveSource,whoisSlaveDataSource));
  final Iterable<CIString> grsSourceNameIterable=Iterables.transform(COMMA_SPLITTER.split(grsSourceNames),new Function<String,CIString>(){
    @Nullable @Override public CIString apply(    final String input){
      return ciString(input);
    }
  }
);
  final Iterable<CIString> nrtmSourceNameIterable=Iterables.transform(COMMA_SPLITTER.split(nrtmSourceNames),new Function<String,CIString>(){
    @Nullable @Override public CIString apply(    final String input){
      return ciString(input);
    }
  }
);
  for (  final CIString grsSourceName : Iterables.concat(grsSourceNameIterable,nrtmSourceNameIterable)) {
    if (!grsSourceName.endsWith(ciString("String_Node_Str"))) {
      LOGGER.warn("String_Node_Str",grsSourceName);
      continue;
    }
    if (!grsSources.add(grsSourceName)) {
      LOGGER.warn("String_Node_Str",grsSourceName);
      continue;
    }
    final Source grsMasterSource=Source.master(grsSourceName);
    final Source grsSlaveSource=Source.slave(grsSourceName);
    if (grsSourceName.contains(mainSourceName)) {
      LOGGER.info("String_Node_Str",grsSourceName,mainSourceName);
      newAliases.put(grsSourceName,mainSlaveSource.getName());
      sourceConfigurations.put(grsMasterSource,new SourceConfiguration(grsMasterSource,whoisMasterDataSource));
      sourceConfigurations.put(grsSlaveSource,new SourceConfiguration(grsSlaveSource,whoisSlaveDataSource));
    }
 else {
      final String grsSlaveUrl=createGrsUrl(grsSlaveBaseUrl,grsSourceName);
      final DataSource grsSlaveDataSource=dataSourceFactory.createDataSource(grsSlaveUrl,whoisSlaveUsername,whoisSlavePassword);
      sourceConfigurations.put(grsSlaveSource,new SourceConfiguration(grsSlaveSource,grsSlaveDataSource));
      final String grsMasterUrl=createGrsUrl(grsMasterBaseUrl,grsSourceName);
      final DataSource grsMasterDataSource=dataSourceFactory.createDataSource(grsMasterUrl,whoisMasterUsername,whoisMasterPassword);
      sourceConfigurations.put(grsMasterSource,new SourceConfiguration(grsMasterSource,grsMasterDataSource));
    }
  }
  LOGGER.info("String_Node_Str",sourceConfigurations.keySet());
  this.grsSourceNames=Collections.unmodifiableSet(grsSources);
  this.grsSourceNamesForDummification=ciSet(COMMA_SPLITTER.split(grsSourceNamesForDummification));
  this.grsSourceNamesToTagRoutes=ciSet(COMMA_SPLITTER.split(grsSourceNamesToTagRoutes));
  this.aliases=Collections.unmodifiableMap(newAliases);
  this.allSourceNames=Collections.unmodifiableSet(Sets.newLinkedHashSet(Iterables.transform(sourceConfigurations.keySet(),new Function<Source,CIString>(){
    @Nullable @Override public CIString apply(    final Source source){
      return source.getName();
    }
  }
)));
  for (  final CIString sourceName : CIString.ciSet(COMMA_SPLITTER.split(additionalSourceNames))) {
    if (this.allSourceNames.contains(sourceName)) {
      additionalSources.add(sourceName);
    }
 else {
      LOGGER.error("String_Node_Str",sourceName);
      throw new IllegalSourceException(sourceName.toString());
    }
  }
  this.additionalSourceNames=Collections.unmodifiableSet(additionalSources);
  if (!additionalSources.isEmpty()) {
    LOGGER.info("String_Node_Str",additionalSources);
  }
}