import java.util.regex.Matcher;
import java.util.regex.Pattern;

final class Acronym {

    private final String acronym;

    Acronym(String phrase) {
        acronym = generateAcronym(phrase);
    }

    String get() {
        return acronym;
    }

    private String generateAcronym(String phrase){
        final Pattern BREAK_WORDS = Pattern.compile("[A-Z]+[a-z]*|[a-z]+");
        final Matcher matcher = BREAK_WORDS.matcher(phrase);
        final StringBuilder stringBuilder = new StringBuilder();
        while (matcher.find()){
            stringBuilder.append(matcher.group().charAt(0));
        }
        return stringBuilder.toString().toUpperCase();
    }

}

@@ -14,21 +14,14 @@
 til.
-regex.Matcher
+Arrays
 ;%0Aim
@@ -39,21 +39,25 @@
 til.
-regex.Pattern
+stream.Collectors
 ;%0A%0Af
@@ -291,16 +291,17 @@
  phrase)
+ 
 %7B%0A      
@@ -306,294 +306,328 @@
     
-final Pattern BREAK_WORDS = Pattern.compile(%22%5BA-Z%5D+%5Ba-z%5D*%7C%5Ba-z%5D+%22);%0A        final Matcher matcher = BREAK_WORDS.matcher(phrase);%0A        final StringBuilder stringBuilder = new StringBuilder();%0A        while (matcher.find())%7B%0A            stringBuilder.append(matcher.group().charAt(0));
+return Arrays.stream(phrase.split(%22%5B%5Ea-zA-Z%5D%22))%0A                .filter(word -%3E !word.isEmpty()) // Remove empty strings from the result of phrase.split%0A                .map(word -%3E word.substring(0, 1)) // Get the first character of each word%0A                .collect(Collectors.joining()) // Concatenate the characters
 %0A   
@@ -635,18 +635,16 @@
     
-%7D%0A
         
 retu
@@ -643,39 +643,8 @@
     
-return stringBuilder.toString()
 .toU

Simplify model answer