public void wrapWithDecimal64ToDecimalConversions(VectorExpression[] vecExprs)
      throws HiveException{
    if (vecExprs == null) {
      return;
    }
    final int size = vecExprs.length;
    for (int i = 0; i < size; i++) {
      VectorExpression vecExpr = vecExprs[i];
      if (vecExpr.getOutputTypeInfo() instanceof DecimalTypeInfo) {
        DataTypePhysicalVariation outputDataTypePhysicalVariation =
            vecExpr.getOutputDataTypePhysicalVariation();
        if (outputDataTypePhysicalVariation == DataTypePhysicalVariation.DECIMAL_64) {
          vecExprs[i] =
              wrapWithDecimal64ToDecimalConversion(vecExpr);
        }
      }
    }
  }
Used as a fast path for operations that don't modify their input, like unary +
and casting boolean to long. IdentityExpression and its children are always
projections.
ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorizationContext.java