public static String convertToCamelCase(String str) {
        StringBuilder result = new StringBuilder();
        if (isNullOrWhitespaceOnly(str)) {
            return "";
        } else if (!str.contains("_") && !str.contains(" ")) {
            return str.toLowerCase();
        }
        String[] camels = str.split("[_| ]");
        for (String camel : camels) {
            if (camel.isEmpty()) {
                continue;
            }
            result.append(camel.substring(0, 1).toUpperCase());
            result.append(camel.substring(1).toLowerCase());
        }
        StringBuilder ret = new StringBuilder(result.substring(0, 1).toLowerCase());
        ret.append(result.substring(1, result.toString().length()));
        return ret.toString();
    }
@Test
    public void testConvertToCamelCase() {
        String str = "AA_BB CC";
        String camelCaseStr = StringUtils.convertToCamelCase(str);
        Assert.assertEquals("aaBbCc", camelCaseStr);
    }