List<String> (@NotNull String text) { text = text.trim(); text = StringUtil.trimEnd(text, ':'); int leadingDotsNumber = StringUtil.countChars(text, '.', 0, true); String dotPrefix = text.substring(0, leadingDotsNumber); text = text.substring(leadingDotsNumber); List<String> sequence = new ArrayList<>(StringUtil.split(text, ".")); if (!dotPrefix.isEmpty() && sequence.size() > 0) { sequence.set(0, dotPrefix + sequence.get(0)); } return sequence; }