public static String toCamelCase(String input) {
        if (input == null || input.isEmpty()) {
            return "";
        }

        StringBuilder result = new StringBuilder();
        boolean toUpperCase = false;

        for (int i = 0; i < input.length(); i++) {
            char c = input.charAt(i);
            if (c == '_') {
                // Set flag to uppercase next valid character
                toUpperCase = true;
            } else {
                // Append character either in uppercase or lowercase based on the flag
                if (toUpperCase) {
                    result.append(Character.toUpperCase(c));
                    toUpperCase = false;
                } else {
                    result.append(Character.toLowerCase(c));
                }
            }
        }
        return result.toString();
    }
@Test
    void toCamelCase() {
        assertEquals("teacherStatics", StringUtils.toCamelCase("teacher_statics"));
        assertEquals("teacherstatics", StringUtils.toCamelCase("teacherstatics"));
        assertEquals("teacherStatics", StringUtils.toCamelCase("teacher__Statics"));
        assertEquals("teacherStatics", StringUtils.toCamelCase("teacher_Statics"));
        assertEquals("teacherStatics", StringUtils.toCamelCase("TEACHER_STATICS"));
    }