{
    if (eStructuralFeatures == null)
    {
      if (index < 0 || index > 1)
      {
        throw new IndexOutOfBoundsException("index=" + index + ", size=0");
      }

      return FeatureIteratorImpl.emptyIterator();
    }

    ListIterator<E> result = newNonResolvingListIterator();
    for (int i = 0; i < index; ++i)
    {
      result.next();
    }
    return result;
  }