public static List copyToImmutableList()

in stetho/src/main/java/com/facebook/stetho/common/ListUtil.java [41:64]


  public static <T> List<T> copyToImmutableList(List<T> list) {
    if (list instanceof ImmutableList) {
      return list;
    }
    int size = list.size();
    switch (size) {
      case 0:
        return Collections.emptyList();
      case 1:
        return new OneItemImmutableList<>(list.get(0));
      case 2:
        return new TwoItemImmutableList<>(list.get(0), list.get(1));
      case 3:
        return new ThreeItemImmutableList<>(list.get(0), list.get(1), list.get(2));
      case 4:
        return new FourItemImmutableList<>(list.get(0), list.get(1), list.get(2), list.get(3));
      case 5:
        return new FiveItemImmutableList<>(
            list.get(0), list.get(1), list.get(2), list.get(3), list.get(4));
      default:
        Object[] array = list.toArray();
        return new ImmutableArrayList<>(array);
    }
  }