List<String> (@NotNull String type) { if (type.startsWith(UNION_PREFIX) && type.endsWith("]")) { return new ArrayList<>(Arrays.asList(type.substring(UNION_PREFIX.length(), type.length() - 1).split("\\s*,\\s*"))); } else { String[] parts = type.split(" or "); return new ArrayList<>(Arrays.asList(parts)); } }