Avoid NPE in multi transformation getId().
diff --git a/library/src/main/java/com/bumptech/glide/load/MultiTransformation.java b/library/src/main/java/com/bumptech/glide/load/MultiTransformation.java
index 9f5ed65..9e3a359 100644
--- a/library/src/main/java/com/bumptech/glide/load/MultiTransformation.java
+++ b/library/src/main/java/com/bumptech/glide/load/MultiTransformation.java
@@ -10,6 +10,7 @@
 public class MultiTransformation<T> implements Transformation<T> {
     private Transformation<T>[] transformations;
     private List<Transformation<T>> transformationList;
+    private String id;
 
     public MultiTransformation(Transformation<T>... transformations) {
         if (transformations.length < 1) {
@@ -53,10 +54,19 @@
 
     @Override
     public String getId() {
-        StringBuilder sb = new StringBuilder();
-        for (Transformation transformation : transformations) {
-            sb.append(transformation.getId());
+        if (id == null) {
+            StringBuilder sb = new StringBuilder();
+            if (transformations != null) {
+                for (Transformation transformation : transformations) {
+                    sb.append(transformation.getId());
+                }
+            } else {
+                for (Transformation transformation : transformationList) {
+                    sb.append(transformation.getId());
+                }
+            }
+            id = sb.toString();
         }
-        return sb.toString();
+        return id;
     }
 }
diff --git a/library/src/test/java/com/bumptech/glide/load/MultiTransformationTest.java b/library/src/test/java/com/bumptech/glide/load/MultiTransformationTest.java
index b25fd11..55b4e66 100644
--- a/library/src/test/java/com/bumptech/glide/load/MultiTransformationTest.java
+++ b/library/src/test/java/com/bumptech/glide/load/MultiTransformationTest.java
@@ -3,6 +3,8 @@
 import com.bumptech.glide.Resource;
 import org.junit.Test;
 
+import java.util.ArrayList;
+
 import static junit.framework.Assert.assertEquals;
 import static org.mockito.Matchers.any;
 import static org.mockito.Matchers.anyInt;
@@ -27,7 +29,17 @@
 
         MultiTransformation transformation = new MultiTransformation(first, second, third);
 
-        assertEquals(firstId + secondId + thirdId, transformation.getId());
+        final String expected = firstId + secondId + thirdId;
+        assertEquals(expected, transformation.getId());
+
+        ArrayList<Transformation> transformations = new ArrayList<Transformation>();
+        transformations.add(first);
+        transformations.add(second);
+        transformations.add(third);
+
+        transformation = new MultiTransformation(transformations);
+
+        assertEquals(expected, transformation.getId());
     }
 
     @Test