private static Class<?>[] getParameterTypes(Expression<?>... args) {
        Class<?>[] paramTypes = new Class[args.length];
        for (int i = 0; i < paramTypes.length; i++) {
            paramTypes[i] = args[i].getType();
        }
        return paramTypes;
    }
{@code ConstructorExpression} represents a constructor invocation

<p>Example</p>

<pre>
{@code
QEmployee employee = QEmployee.employee;
List<EmployeeInfo> result = query.from(employee)
  .where(employee.valid.eq(true))
  .select(Projections.constructor(EmployeeInfo.class, employee.firstName, employee.lastName))
  .fetch();
}
</pre>

@author tiwe

@param <T> expression type
querydsl-core/src/main/java/com/querydsl/core/types/ConstructorExpression.java