@Override
  public Iterator<T> iterator()
  {
    return new LinkedQueueIterator(Direction.ASCENDING);
  }
@Test
  public void testEarlyRemoveFails()
  {
    LinkedDeque<Integer> q = new LinkedDeque<>(Arrays.asList(1, 2, 3));
    try
    {
      q.iterator().remove();
    }
    catch (IllegalStateException e)
    {
      // Expected
    }
  }