Merge branch 'oc-bridge'
authorMax Medvedev <maxim.medvedev@jetbrains.com>
Sat, 18 Apr 2015 13:08:18 +0000 (16:08 +0300)
committerMax Medvedev <maxim.medvedev@jetbrains.com>
Sat, 18 Apr 2015 13:08:18 +0000 (16:08 +0300)
1  2 
platform/util/src/com/intellij/util/containers/ContainerUtil.java

index 7bc87c9ae20de7ecdbf9d795fa67966f0aaa9391,c966cf60b07e5b1df6412ccca5a7833c4a33d08b..3c687a465ef615d23b40102c114a33cfcb0d67c8
@@@ -58,7 -58,7 +58,7 @@@ public class ContainerUtil extends Cont
  
    @NotNull
    @Contract(pure=true)
 -  public static <K, V> Map<K, V> newHashMap(@NotNull Pair<K, V> first, @NotNull Pair<K, V>... entries) {
 +  public static <K, V> Map<K, V> newHashMap(@NotNull Pair<K, ? extends V> first, @NotNull Pair<K, ? extends V>... entries) {
      return ContainerUtilRt.newHashMap(first, entries);
    }
  
      };
    }
  
+   @NotNull
+   @Contract(pure = true)
+   public static <T> List<T> newUnmodifiableList(List<? extends T> originalList) {
+     int size = originalList.size();
+     if (size == 0) {
+       return emptyList();
+     }
+     else if (size == 1) {
+       return Collections.singletonList(originalList.get(0));
+     }
+     else {
+       return Collections.unmodifiableList(newArrayList(originalList));
+     }
+   }
    @NotNull
    @Contract(pure=true)
    public static <T> List<T> newSmartList() {