  
        for (EntityPlayer var11 : var9) {
          var11.addPotionEffect(new PotionEffect(this.primaryEffect, var4, var3, true, true));
+diff --git a/net/minecraft/util/ClassInheritanceMultiMap.java b/net/minecraft/util/ClassInheritanceMultiMap.java
+index 5c70b02..d949952 100644
+--- a/net/minecraft/util/ClassInheritanceMultiMap.java
++++ b/net/minecraft/util/ClassInheritanceMultiMap.java
+@@ -30,7 +30,7 @@ public class ClassInheritanceMultiMap<T> extends AbstractSet<T> {
+   protected void createLookup(Class<?> var1) {
+     ALL_KNOWN.add(var1);
+ 
+-    for (Object var3 : this.values) {
++    for (T var3 : this.values) { // BCMP
+       if (var1.isAssignableFrom(var3.getClass())) {
+         this.addForClass(var3, var1);
+       }
+@@ -64,7 +64,7 @@ public class ClassInheritanceMultiMap<T> extends AbstractSet<T> {
+   private void addForClass(T var1, Class<?> var2) {
+     List var3 = (List) this.map.get(var2);
+     if (var3 == null) {
+-      this.map.put(var2, Lists.newArrayList(new Object[] {var1}));
++      this.map.put(var2, Lists.newArrayList((T[]) new Object[] {var1})); // BCMP
+     } else {
+       var3.add(var1);
+     }
 diff --git a/net/minecraft/util/IntHashMap.java b/net/minecraft/util/IntHashMap.java
 index 46fee47..9b77225 100644
 --- a/net/minecraft/util/IntHashMap.java

 
     for (int var4 = 0; var4 < var1.getHeight(); ++var4) {
       for (int var5 = 0; var5 < var1.getWidth(); ++var5) {
diff --git a/net/minecraft/pathfinding/WalkNodeProcessor.java b/net/minecraft/pathfinding/WalkNodeProcessor.java
index c655743..d50fba1 100644
--- a/net/minecraft/pathfinding/WalkNodeProcessor.java

     }
 
     this.objectList.set(var2, var1);
diff --git a/net/minecraft/util/datafix/DataFixer.java b/net/minecraft/util/datafix/DataFixer.java
index 496d42c..e2dc7c2 100644
--- a/net/minecraft/util/datafix/DataFixer.java
+++ b/net/minecraft/util/datafix/DataFixer.java
@@ -93,7 +93,7 @@ public class DataFixer implements IDataFixer {
   }
 
   private <V> List<V> getTypeList(Map<IFixType, List<V>> var1, IFixType var2) {
-    Object var3 = (List) var1.get(var2);
+    List<V> var3 = (List) var1.get(var2); // BCMP
     if (var3 == null) {
       var3 = Lists.newArrayList();
       var1.put(var2, var3);
diff --git a/net/minecraft/util/math/Cartesian.java b/net/minecraft/util/math/Cartesian.java
index 93855fe..e6e5849 100644
--- a/net/minecraft/util/math/Cartesian.java
