"a thing, a thing and a thing"
* (the coma being the usual separator, and {@code " and "} being the final separator).
* @param regularSeparator the separator used everywhere except between the two last strings to join.
* @param finalSeparator the separator used between the two last strings to join.
* @param strings the strings to join.
* @return a new string will all the provided {@code strings} joined using the separators.
*/
public static String joinGrammatically(CharSequence regularSeparator, CharSequence finalSeparator, List
* Be aware that this method may run an infinite loop if the predicate continuously returns true.
* @param originalName the original conflicting name.
* @param conflictTester a predicate that test if a generated name stills conflict with a set of name
* @return the original name, with a suffix number (ex: {@code "original1"}).
*/
public static String fixConflictName(String originalName, Predicate