// Path: src/main/java/net/einsteinsci/betterbeginnings/util/LogUtil.java
// public class LogUtil
// {
// 	public static void logDebug(String text)
// 	{
// 		if (BBConfig.debugLogging)
// 		{
// 			log(Level.DEBUG, text);
// 		}
// 	}
// 
// 	public static void logDebug(Level level, String text)
// 	{
// 		if (BBConfig.debugLogging)
// 		{
// 			log(level, text);
// 		}
// 	}
// 
// 	public static void log(Level level, String text)
// 	{
// 		FMLLog.log(ModMain.NAME, level, text);
// 	}
// 
// 	public static void log(String text)
// 	{
// 		log(Level.INFO, text);
// 	}
// }
// 
// Path: src/main/java/net/einsteinsci/betterbeginnings/util/Util.java
// public class Util
// {
// 	public static boolean areItemStacksEqualIgnoreSize(ItemStack template, ItemStack tested)
// 	{
// 		if (template == null)
// 		{
// 			return tested == null;
// 		}
// 		else if (tested == null)
// 		{
// 			return false;
// 		}
// 
// 		return template.getItem() == tested.getItem() && (template.getMetadata() == tested.getMetadata() ||
// 			template.getMetadata() == OreDictionary.WILDCARD_VALUE);
// 	}
// 
// 	public static <TObject, TField> TField getPrivateVariable(TObject obj, String fieldName)
// 	{
// 		Field privateStringField = null;
// 		try
// 		{
// 			privateStringField = obj.getClass().getDeclaredField(fieldName);
// 		}
// 		catch (NoSuchFieldException e)
// 		{
// 			return null;
// 		}
// 		privateStringField.setAccessible(true);
// 
// 		try
// 		{
// 			return (TField)privateStringField.get(obj);
// 		}
// 		catch (IllegalAccessException e)
// 		{
// 			return null;
// 		}
// 	}
// 
// 	public static boolean listContainsItemStackIgnoreSize(List<ItemStack> list, ItemStack stack)
// 	{
// 		for (ItemStack s : list)
// 		{
// 			if (areItemStacksEqualIgnoreSize(s, stack))
// 			{
// 				return true;
// 			}
// 		}
// 
// 		return false;
// 	}
// }


import net.einsteinsci.betterbeginnings.tileentity.TileEntityBrickOven;
import net.einsteinsci.betterbeginnings.util.LogUtil;
import net.einsteinsci.betterbeginnings.util.Util;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.oredict.OreDictionary;
import org.apache.logging.log4j.Level;
import java.util.*;

		for (IBrickOvenRecipe recipe : recipes)
		{
			// IBrickOvenRecipe recipe = (IBrickOvenRecipe)recipes.get(j);

			if (recipe.matches(oven))
			{
				return recipe.getCraftingResult(oven);
			}
		}

		return null;
	}

	public boolean isInRecipe(ItemStack stack)
	{
		for (IBrickOvenRecipe recipe : recipes)
		{
			if (recipe.contains(stack))
			{
				return true;
			}
		}
		return false;
	}

	public boolean existsRecipeFor(ItemStack stack)
	{
		for (IBrickOvenRecipe recipe : recipes)
		{
// Path: src/main/java/net/einsteinsci/betterbeginnings/util/LogUtil.java
// public class LogUtil
// {
// 	public static void logDebug(String text)
// 	{
// 		if (BBConfig.debugLogging)
// 		{
// 			log(Level.DEBUG, text);
// 		}
// 	}
// 
// 	public static void logDebug(Level level, String text)
// 	{
// 		if (BBConfig.debugLogging)
// 		{
// 			log(level, text);
// 		}
// 	}
// 
// 	public static void log(Level level, String text)
// 	{
// 		FMLLog.log(ModMain.NAME, level, text);
// 	}
// 
// 	public static void log(String text)
// 	{
// 		log(Level.INFO, text);
// 	}
// }
// 
// Path: src/main/java/net/einsteinsci/betterbeginnings/util/Util.java
// public class Util
// {
// 	public static boolean areItemStacksEqualIgnoreSize(ItemStack template, ItemStack tested)
// 	{
// 		if (template == null)
// 		{
// 			return tested == null;
// 		}
// 		else if (tested == null)
// 		{
// 			return false;
// 		}
// 
// 		return template.getItem() == tested.getItem() && (template.getMetadata() == tested.getMetadata() ||
// 			template.getMetadata() == OreDictionary.WILDCARD_VALUE);
// 	}
// 
// 	public static <TObject, TField> TField getPrivateVariable(TObject obj, String fieldName)
// 	{
// 		Field privateStringField = null;
// 		try
// 		{
// 			privateStringField = obj.getClass().getDeclaredField(fieldName);
// 		}
// 		catch (NoSuchFieldException e)
// 		{
// 			return null;
// 		}
// 		privateStringField.setAccessible(true);
// 
// 		try
// 		{
// 			return (TField)privateStringField.get(obj);
// 		}
// 		catch (IllegalAccessException e)
// 		{
// 			return null;
// 		}
// 	}
// 
// 	public static boolean listContainsItemStackIgnoreSize(List<ItemStack> list, ItemStack stack)
// 	{
// 		for (ItemStack s : list)
// 		{
// 			if (areItemStacksEqualIgnoreSize(s, stack))
// 			{
// 				return true;
// 			}
// 		}
// 
// 		return false;
// 	}
// }


// Path: src/main/java/net/einsteinsci/betterbeginnings/register/recipe/BrickOvenRecipeHandler.java
import net.einsteinsci.betterbeginnings.tileentity.TileEntityBrickOven;
import net.einsteinsci.betterbeginnings.util.LogUtil;
import net.einsteinsci.betterbeginnings.util.Util;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.oredict.OreDictionary;
import org.apache.logging.log4j.Level;
import java.util.*;


		for (IBrickOvenRecipe recipe : recipes)
		{
			// IBrickOvenRecipe recipe = (IBrickOvenRecipe)recipes.get(j);

			if (recipe.matches(oven))
			{
				return recipe.getCraftingResult(oven);
			}
		}

		return null;
	}

	public boolean isInRecipe(ItemStack stack)
	{
		for (IBrickOvenRecipe recipe : recipes)
		{
			if (recipe.contains(stack))
			{
				return true;
			}
		}
		return false;
	}

	public boolean existsRecipeFor(ItemStack stack)
	{
		for (IBrickOvenRecipe recipe : recipes)
		{
			if (Util.areItemStacksEqualIgnoreSize(recipe.getRecipeOutput(), stack))