addressed Zack's review comments
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/om/pointables/cast/ARecordCaster.java b/asterix-om/src/main/java/edu/uci/ics/asterix/om/pointables/cast/ARecordCaster.java
index 2c4702c..e7e0ef2 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/om/pointables/cast/ARecordCaster.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/om/pointables/cast/ARecordCaster.java
@@ -37,7 +37,6 @@
 import edu.uci.ics.asterix.om.types.EnumDeserializer;
 import edu.uci.ics.asterix.om.types.IAType;
 import edu.uci.ics.asterix.om.types.hierachy.ATypeHierarchy;
-import edu.uci.ics.asterix.om.types.hierachy.ITypePromoteComputer;
 import edu.uci.ics.asterix.om.util.NonTaggedFormatUtil;
 import edu.uci.ics.asterix.om.util.ResettableByteArrayOutputStream;
 import edu.uci.ics.hyracks.algebricks.common.utils.Pair;
@@ -90,9 +89,6 @@
     private int[] fieldNamesSortedIndex;
     private int[] reqFieldNamesSortedIndex;
 
-    // for promotion
-    private ITypePromoteComputer[] promoteComputers;
-
     public ARecordCaster() {
         try {
             bos.reset();
@@ -120,7 +116,6 @@
         if (openFields == null || numInputFields > openFields.length) {
             openFields = new boolean[numInputFields];
             fieldNamesSortedIndex = new int[numInputFields];
-            promoteComputers = new ITypePromoteComputer[numInputFields];
         }
         if (cachedReqType == null || !reqType.equals(cachedReqType)) {
             loadRequiredType(reqType);
@@ -140,9 +135,6 @@
             fieldPermutation[i] = -1;
         for (int i = 0; i < numInputFields; i++)
             fieldNamesSortedIndex[i] = i;
-        for (int i = 0; i < numInputFields; i++) {
-            promoteComputers[i] = null;
-        }
         outputBos.reset();
     }
 
@@ -215,7 +207,7 @@
                     fieldPermutation[reqFnPos] = fnPos;
                     openFields[fnPos] = false;
                 } else {
-                    // try to do type promotion
+                    // if mismatch, check whether input type can be promoted to the required type
                     ATypeTag inputTypeTag = EnumDeserializer.ATYPETAGDESERIALIZER.deserialize(fieldTypeTag
                             .getByteArray()[fieldTypeTag.getStartOffset()]);
                     ATypeTag requiredTypeTag = EnumDeserializer.ATYPETAGDESERIALIZER.deserialize(reqFieldTypeTag