public static UnsafeProjection create(List<DataType> fields) {
        ArrayList<Expression> boundRefs = new ArrayList<>();
        int ordinal = 0;
        for (DataType t : fields) {
            boundRefs.add(new BoundReference(ordinal++, t));
        }
        return createFromBoundedExprs(boundRefs);
    }
Returns an UnsafeProjection for given Array of DataTypes.
indexr-query-opt/src/main/java/io/indexr/query/expr/project/UnsafeProjection.java