MatchingOutcome (String name) { if (!myOriginal.prefixMatches(name)) return MatchingOutcome.NON_MATCH; if (!myOriginal.isStartMatch(name)) return MatchingOutcome.WORSE_MATCH; return myOriginal.matchingDegree(name) >= myMinMatchingDegree ? MatchingOutcome.BETTER_MATCH : MatchingOutcome.WORSE_MATCH; }