Program: 117609
Project: 117609
Buggy source:
@SuppressWarnings("String_Node_Str") @GetMany(Champion.class) public CloseableIterator<Champion> getManyChampion(final Map<String,Object> query,final PipelineContext context){
  final Platform platform=(Platform)query.get("String_Node_Str");
  Utilities.checkNotNull(platform,"String_Node_Str");
  final Iterable<Number> ids=(Iterable<Number>)query.get("String_Node_Str");
  final Iterable<String> names=(Iterable<String>)query.get("String_Node_Str");
  Utilities.checkAtLeastOneNotNull(ids,"String_Node_Str",names,"String_Node_Str");
  final String version=query.get("String_Node_Str") == null ? getCurrentVersion(platform,context) : (String)query.get("String_Node_Str");
  final String locale=query.get("String_Node_Str") == null ? platform.getDefaultLocale() : (String)query.get("String_Node_Str");
  final Set<String> includedData=query.get("String_Node_Str") == null ? ImmutableSet.of("String_Node_Str") : (Set<String>)query.get("String_Node_Str");
  final String content=get("String_Node_Str",version,locale);
  final ChampionList data=DataObject.fromJSON(ChampionList.class,new Function<JsonNode,JsonNode>(){
    private final Function<JsonNode,JsonNode> INCLUDED_DATA_PROCESSOR=new IncludedDataProcessor(Sets.union(includedData,IncludedDataProcessor.DEFAULT_CHAMPION_TAGS));
    @Override public JsonNode apply(    final JsonNode tree){
      if (tree == null) {
        return tree;
      }
      final ObjectNode data=(ObjectNode)tree.get("String_Node_Str");
      if (data == null) {
        return tree;
      }
      for (      final JsonNode champion : data) {
        INCLUDED_DATA_PROCESSOR.apply(champion);
        CHAMPION_PROCESSOR.apply(champion);
        final String key=champion.get("String_Node_Str").asText();
        final int id=champion.get("String_Node_Str").asInt();
        data.remove(key);
        data.set(Integer.toString(id),champion);
      }
      return tree;
    }
  }
,content);
  data.setPlatform(platform.getTag());
  data.setLocale(locale);
  data.setIncludedData(includedData);
  final Map<String,Champion> byName=ids == null ? new HashMap<String,Champion>() : null;
  for (  final Champion champion : data.getData().values()) {
    champion.setPlatform(platform.getTag());
    champion.setVersion(data.getVersion());
    champion.setLocale(locale);
    champion.setIncludedData(includedData);
    if (ids == null) {
      byName.put(champion.getName(),champion);
    }
  }
  final Iterator<?> iterator=ids == null ? names.iterator() : ids.iterator();
  return CloseableIterators.from(new Iterator<Champion>(){
    @Override public boolean hasNext(){
      return iterator.hasNext();
    }
    @Override public Champion next(){
      if (ids != null) {
        final Number id=(Number)iterator.next();
        return data.getData().get(id.toString());
      }
 else {
        final String name=(String)iterator.next();
        return byName.get(name);
      }
    }
    @Override public void remove(){
      throw new UnsupportedOperationException();
    }
  }
);
}

Fixed version (ground truth):
@SuppressWarnings("String_Node_Str") @GetMany(Champion.class) public CloseableIterator<Champion> getManyChampion(final Map<String,Object> query,final PipelineContext context){
  final Platform platform=(Platform)query.get("String_Node_Str");
  Utilities.checkNotNull(platform,"String_Node_Str");
  final Iterable<Number> ids=(Iterable<Number>)query.get("String_Node_Str");
  final Iterable<String> names=(Iterable<String>)query.get("String_Node_Str");
  Utilities.checkAtLeastOneNotNull(ids,"String_Node_Str",names,"String_Node_Str");
  final String version=query.get("String_Node_Str") == null ? getCurrentVersion(platform,context) : (String)query.get("String_Node_Str");
  final String locale=query.get("String_Node_Str") == null ? platform.getDefaultLocale() : (String)query.get("String_Node_Str");
  final Set<String> includedData=query.get("String_Node_Str") == null ? ImmutableSet.of("String_Node_Str") : (Set<String>)query.get("String_Node_Str");
  final String content=get("String_Node_Str",version,locale);
  final ChampionList data=DataObject.fromJSON(ChampionList.class,new Function<JsonNode,JsonNode>(){
    private final Function<JsonNode,JsonNode> INCLUDED_DATA_PROCESSOR=new IncludedDataProcessor(Sets.union(includedData,IncludedDataProcessor.DEFAULT_CHAMPION_TAGS));
    @Override public JsonNode apply(    final JsonNode tree){
      if (tree == null) {
        return tree;
      }
      final ObjectNode data=(ObjectNode)tree.get("String_Node_Str");
      if (data == null) {
        return tree;
      }
      for (      final JsonNode champion : data) {
        INCLUDED_DATA_PROCESSOR.apply(champion);
        CHAMPION_PROCESSOR.apply(champion);
        final String key=champion.get("String_Node_Str").asText();
        final int id=champion.get("String_Node_Str").asInt();
        data.remove(key);
        data.set(Integer.toString(id),champion);
      }
      return tree;
    }
  }
,content);
  if (data == null) {
    return null;
  }
  data.setPlatform(platform.getTag());
  data.setLocale(locale);
  data.setIncludedData(includedData);
  final Map<String,Champion> byName=ids == null ? new HashMap<String,Champion>() : null;
  for (  final Champion champion : data.getData().values()) {
    champion.setPlatform(platform.getTag());
    champion.setVersion(data.getVersion());
    champion.setLocale(locale);
    champion.setIncludedData(includedData);
    if (ids == null) {
      byName.put(champion.getName(),champion);
    }
  }
  final Iterator<?> iterator=ids == null ? names.iterator() : ids.iterator();
  return CloseableIterators.from(new Iterator<Champion>(){
    @Override public boolean hasNext(){
      return iterator.hasNext();
    }
    @Override public Champion next(){
      if (ids != null) {
        final Number id=(Number)iterator.next();
        return data.getData().get(id.toString());
      }
 else {
        final String name=(String)iterator.next();
        return byName.get(name);
      }
    }
    @Override public void remove(){
      throw new UnsupportedOperationException();
    }
  }
);
}