static String formatFunctionName(final String value)
    {
        if (value.isEmpty())
        {
            return value;
        }
        return sanitizeMethodOrProperty(toLowerSnakeCase(value));
    }
@Test
    void functionNameCasing()
    {
        assertEquals("", formatFunctionName(""));
        assertEquals("a", formatFunctionName("a"));
        assertEquals("a", formatFunctionName("A"));
        assertEquals("car", formatFunctionName("Car"));
        assertEquals("car", formatFunctionName("car"));
        assertEquals("decode_car", formatFunctionName("DecodeCar"));
        assertEquals("decode_car", formatFunctionName("decodeCar"));
        assertEquals("decode_car", formatFunctionName("decode_car"));
        assertEquals("decode_car", formatFunctionName("Decode_car"));
        assertEquals("decode_car", formatFunctionName("decode_Car"));
        assertEquals("decode_car", formatFunctionName("Decode_Car"));
        assertEquals("decode_car", formatFunctionName("DECODE_Car"));
        assertEquals("decode_car", formatFunctionName("DECODE_car"));
        assertEquals("decode_car", formatFunctionName("DECODECar"));
        assertEquals("decode_car", formatFunctionName("DECODE_CAR"));
        assertEquals("decode_ca_r", formatFunctionName("DECODE_caR"));

        // special cases
        assertEquals("pricenull_9", formatFunctionName("PRICENULL9"));
        assertEquals("price_9_book", formatFunctionName("PRICE9Book"));
        assertEquals("issue_435", formatFunctionName("issue435"));
        assertEquals("r#type", formatFunctionName("type"));

        assertEquals("upper_case", formatFunctionName("UPPERCase"));
        assertEquals("no_md_entries", formatFunctionName("NoMDEntries"));
        assertEquals("md_entry_type_book", formatFunctionName("MD_EntryTYPEBook"));
        assertEquals("cl_ord_id", formatFunctionName("ClOrdID"));
        assertEquals("ab_c", formatFunctionName("aBc"));
        assertEquals("ab_cd", formatFunctionName("aBcD"));
        assertEquals("ab_cd", formatFunctionName("aB_cD"));
        assertEquals("ab_cd", formatFunctionName("AbCd"));
    }