@Override
  public void addChildren(Deque<Expression> expressions) {
    addChildren(expressions, 2);
  }
@Test
  public void testFinish() throws IOException {
    And and = new And();
    Expression first = mock(Expression.class);
    Expression second = mock(Expression.class);

    Deque<Expression> children = new LinkedList<Expression>();
    children.add(second);
    children.add(first);
    and.addChildren(children);

    and.finish();
    verify(first).finish();
    verify(second).finish();
    verifyNoMoreInteractions(first);
    verifyNoMoreInteractions(second);
  }