### Question:
QList extends FactoryExpressionBase<List<?>> { @Override @Nullable public List<?> newInstance(Object... args) { return Collections.unmodifiableList(Arrays.asList(args)); } @SuppressWarnings("unchecked") protected  QList(Expression<?>... args); @SuppressWarnings("unchecked") protected  QList(ImmutableList<Expression<?>> args); @SuppressWarnings("unchecked") protected  QList(Expression<?>[]... args); @Override @Nullable R accept(Visitor<R, C> v, C context); @Override List<Expression<?>> getArgs(); @Override boolean equals(Object obj); @Override @Nullable List<?> newInstance(Object... args);  }### Answer:
@Test public void newInstance() { QList qList = new QList(Expressions.stringPath("a"), Expressions.stringPath("b")); List<?> list = qList.newInstance("a", null); assertEquals(2, list.size()); assertEquals("a", list.get(0)); assertNull(list.get(1)); }