original_string: protected function optimizeUnwrap()
      {
          $iterator = $this->unwrap();
  
          if (get_class($iterator) === ArrayIterator::class) {
              $iterator = $iterator->getArrayCopy();
          }
  
          return $iterator;
      }
code: protected function optimizeUnwrap()
      {
          $iterator = $this->unwrap();
  
          if (get_class($iterator) === ArrayIterator::class) {
              $iterator = $iterator->getArrayCopy();
          }
  
          return $iterator;
      }
code_tokens: protected function optimizeUnwrap ( ) { $ iterator = $ this -> unwrap ( ) ; if ( get_class ( $ iterator ) === ArrayIterator :: class ) { $ iterator = $ iterator -> getArrayCopy ( ) ; } return $ iterator ; }
docstring: Unwraps this iterator and returns the simplest
  traversable that can be used for getting the data out
  
  @return \Traversable|array
docstring_tokens: Unwraps this iterator and returns the simplest traversable that can be used for getting the data out