### Question:
CrudUtils { @NonNull public static String firstWordOf(@NonNull final String camelCaseString) { return splitCamelCase(camelCaseString)[0].toLowerCase(); }  @NonNull static T copyNonNullProperties(@NonNull final S source, @NonNull final T target, String... ignoredProperties); @NonNull static String firstWordOf(@NonNull final String camelCaseString); @NonNull static String toSnakeCase(@NonNull final String camelCaseString); @NonNull static String[] splitCamelCase(@NonNull final String camelCaseString);  }### Answer:
@Test public void firstWordOf() { assertThat(CrudUtils.firstWordOf("SplitCamelCase")) .isEqualTo("split"); assertThat(CrudUtils.firstWordOf("10SplitCamelCase")) .isEqualTo("10"); assertThat(CrudUtils.firstWordOf("splitCamelCase")) .isEqualTo("split"); }