added GetMiddleIterator