static public RecipeIngredient makeRecipeIngredient(String input) throws NotConfiguredException, DataStoreException, ConnectionException {
        LOGGER.trace("called: makeRecipeIngredient( \"" + input + "\" )");
        if(input == null){
            LOGGER.warn("input was null, returning null");
            return null;
        }

        input = input.trim().toLowerCase().replaceAll("\\s+", " ");
        if(input.equals("")){
            LOGGER.warn("input was empty, returning null");
            return null;
        }

        DataStoreConnector db = MySQLConnector.getInstance();

        String ingredientName = findIngredientName(input);

        Ingredient ingredient = db.retrieveIngredient(ingredientName);
        if(ingredient == null){
            LOGGER.warn("ingredient was null, returning null");
            return null;
        }

        Map<String, String> fixes;
        try{
            fixes = findPrefixAndSuffix(input, ingredientName);
        } catch (NoFixesFoundException e){
            return new RecipeIngredient("", ingredient, "");
        }
        String prefix = fixes.get("prefix");
        String suffix = fixes.get("suffix");

        return new RecipeIngredient(prefix, ingredient, suffix);
    }