@NotNull
    private static List<String> parseTypes(@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));
      }
    }
@NotNull
    private static List<String> parseTypes(@NotNull String type)