Program: 31464
Project: 31464
Buggy source:
private void addRecipeUnchecked(@Nonnull Object recipe) throws RuntimeException {
  Class recipeClass=recipe.getClass();
  IRecipeHandler recipeHandler=getRecipeHandler(recipeClass);
  if (recipeHandler == null) {
    if (!unhandledRecipeClasses.contains(recipeClass)) {
      unhandledRecipeClasses.add(recipeClass);
      Log.debug("String_Node_Str",recipeClass);
    }
    return;
  }
  String recipeCategoryUid=recipeHandler.getRecipeCategoryUid();
  IRecipeCategory recipeCategory=recipeCategoriesMap.get(recipeCategoryUid);
  if (recipeCategory == null) {
    Log.error("String_Node_Str",recipeCategoryUid);
    return;
  }
  if (!recipeHandler.isRecipeValid(recipe)) {
    return;
  }
  IRecipeWrapper recipeWrapper=recipeHandler.getRecipeWrapper(recipe);
  List inputs=recipeWrapper.getInputs();
  List<FluidStack> fluidInputs=recipeWrapper.getFluidInputs();
  if (inputs != null || fluidInputs != null) {
    if (recipeWrapper.usesOreDictionaryComparison()) {
      inputs=StackUtil.expandRecipeInputs(inputs,true);
    }
    List<ItemStack> inputStacks=StackUtil.toItemStackList(inputs);
    if (fluidInputs == null) {
      fluidInputs=Collections.emptyList();
    }
    recipeInputMap.addRecipe(recipe,recipeCategory,inputStacks,fluidInputs);
  }
  List outputs=recipeWrapper.getOutputs();
  List<FluidStack> fluidOutputs=recipeWrapper.getFluidOutputs();
  if (outputs != null || fluidOutputs != null) {
    List<ItemStack> outputStacks=StackUtil.toItemStackList(outputs);
    if (fluidOutputs == null) {
      fluidOutputs=Collections.emptyList();
    }
    recipeOutputMap.addRecipe(recipe,recipeCategory,outputStacks,fluidOutputs);
  }
  recipesForCategories.put(recipeCategory,recipe);
}

Fixed version (ground truth):
private void addRecipeUnchecked(@Nonnull Object recipe) throws RuntimeException {
  Class recipeClass=recipe.getClass();
  IRecipeHandler recipeHandler=getRecipeHandler(recipeClass);
  if (recipeHandler == null) {
    if (!unhandledRecipeClasses.contains(recipeClass)) {
      unhandledRecipeClasses.add(recipeClass);
      Log.debug("String_Node_Str",recipeClass);
    }
    return;
  }
  String recipeCategoryUid=recipeHandler.getRecipeCategoryUid();
  IRecipeCategory recipeCategory=recipeCategoriesMap.get(recipeCategoryUid);
  if (recipeCategory == null) {
    Log.error("String_Node_Str",recipeCategoryUid);
    return;
  }
  if (!recipeHandler.isRecipeValid(recipe)) {
    return;
  }
  IRecipeWrapper recipeWrapper=recipeHandler.getRecipeWrapper(recipe);
  List inputs=recipeWrapper.getInputs();
  List<FluidStack> fluidInputs=recipeWrapper.getFluidInputs();
  if (inputs != null || fluidInputs != null) {
    List<ItemStack> inputStacks=StackUtil.toItemStackList(inputs);
    if (fluidInputs == null) {
      fluidInputs=Collections.emptyList();
    }
    recipeInputMap.addRecipe(recipe,recipeCategory,inputStacks,fluidInputs);
  }
  List outputs=recipeWrapper.getOutputs();
  List<FluidStack> fluidOutputs=recipeWrapper.getFluidOutputs();
  if (outputs != null || fluidOutputs != null) {
    List<ItemStack> outputStacks=StackUtil.toItemStackList(outputs);
    if (fluidOutputs == null) {
      fluidOutputs=Collections.emptyList();
    }
    recipeOutputMap.addRecipe(recipe,recipeCategory,outputStacks,fluidOutputs);
  }
  recipesForCategories.put(recipeCategory,recipe);
}