### Question:
ConstructorExpression extends FactoryExpressionBase<T> { @Override public final List<Expression<?>> getArgs() { return args; } protected  ConstructorExpression(Class<? extends T> type, Expression<?>... args); protected  ConstructorExpression(Class<? extends T> type, Class<?>[] paramTypes, Expression<?>... args); protected  ConstructorExpression(Class<? extends T> type, Class<?>[] paramTypes, ImmutableList<Expression<?>> args); @SuppressWarnings("unchecked") Expression<T> as(Path<T> alias); Expression<T> as(String alias); @Override R accept(Visitor<R, C> v, C context); @Override boolean equals(Object obj); @Override final List<Expression<?>> getArgs(); @Override @SuppressWarnings("unchecked") T newInstance(Object... args);  }### Answer:
@Test public void factoryExpression_has_right_args() { FactoryExpression<ProjectionExample> constructor = Projections.constructor(ProjectionExample.class, concat); constructor = FactoryExpressionUtils.wrap(constructor); assertEquals(Arrays.asList(str1, str2), constructor.getArgs()); }