public static <T> T deserializeObjectWithTypeInformation(byte[] bytes,
      boolean isPartFilter) {
    KryoWithHooks kryo = (KryoWithHooks) borrowKryo();
    kryo.setExprNodeFirst(isPartFilter);
    try (Input inp = new Input(new ByteArrayInputStream(bytes))) {
      return (T) kryo.readClassAndObject(inp);
    } finally {
      releaseKryo(kryo);
    }
  }
Deserializes expression from Kryo.
@param bytes Bytes containing the expression.
@param isPartFilter ture if it is a partition filter
@return Expression; null if deserialization succeeded, but the result type is incorrect.
ql/src/java/org/apache/hadoop/hive/ql/exec/SerializationUtilities.java