Plugin developers using the org.bukkit.inventory.ShapedRecipe class have to set the shape before setting the ingredients.
This is not documented in the javadocs, and leads to confusion when the check in line 129 throws an error, when a plugin author tries to set the ingredients before the shape.