@Override
    public Object transformTuple(Object[] tuple, String[] aliases) {
        if (projection.getArgs().size() < tuple.length) {
            Object[] shortened = new Object[projection.getArgs().size()];
            System.arraycopy(tuple, 0, shortened, 0, shortened.length);
            tuple = shortened;
        }
        return projection.newInstance(tuple);
    }
{@code FactoryExpressionTransformer} is a ResultTransformer implementation using
FactoryExpression instances for transformation

@author tiwe
querydsl-jpa/src/main/java/com/querydsl/jpa/FactoryExpressionTransformer.java