@Override
  public Iterator<String> iterator() {
    return Arrays.asList(getPathComponents()).iterator();
  }
@Test
  public void testIterator() {
    List<String> queuePathCollection = ImmutableList.copyOf(TEST_QUEUE_PATH.iterator());
    List<String> queuePathWithEmptyPartCollection = ImmutableList.copyOf(
        QUEUE_PATH_WITH_EMPTY_PART.iterator());
    List<String> rootPathCollection = ImmutableList.copyOf(ROOT_PATH.iterator());

    Assert.assertEquals(4, queuePathCollection.size());
    Assert.assertEquals(CapacitySchedulerConfiguration.ROOT, queuePathCollection.get(0));
    Assert.assertEquals("level_3", queuePathCollection.get(3));

    Assert.assertEquals(3, queuePathWithEmptyPartCollection.size());
    Assert.assertEquals(CapacitySchedulerConfiguration.ROOT,
        queuePathWithEmptyPartCollection.get(0));
    Assert.assertEquals("level_2", queuePathWithEmptyPartCollection.get(2));

    Assert.assertEquals(1, rootPathCollection.size());
    Assert.assertEquals(CapacitySchedulerConfiguration.ROOT, rootPathCollection.get(0));
  }