diff --git a/src/Utils/BeanDescriptor.php b/src/Utils/BeanDescriptor.php
index b66605cf..1eb83e27 100644
--- a/src/Utils/BeanDescriptor.php
+++ b/src/Utils/BeanDescriptor.php
@@ -1156,9 +1156,10 @@ public function generateResultIteratorPhpCode(): ?FileGenerator
         $tableName = $this->table->getName();
 
         $className = $this->namingStrategy->getResultIteratorClassName($tableName);
+        $classFullName = $this->resultIteratorNamespace.'\\'.$className;
         $baseClassName = $this->namingStrategy->getBaseResultIteratorClassName($tableName);
-        $beanClassWithoutNameSpace = $this->namingStrategy->getBeanClassName($tableName);
-        $beanClassName = $this->beanNamespace.'\\'.$beanClassWithoutNameSpace;
+        $beanClassName = $this->namingStrategy->getBeanClassName($tableName);
+        $beanClassFullName = $this->beanNamespace.'\\'.$beanClassName;
 
         $file->setDocBlock(new DocBlockGenerator(
             <<<EOF
@@ -1167,14 +1168,27 @@ public function generateResultIteratorPhpCode(): ?FileGenerator
 If you need to perform changes, edit the $className class instead!
 EOF
         ));
-        $class->addUse(ResultIterator::class);
+
+        $uses = [ResultIterator::class, $classFullName, $beanClassFullName];
+        sort($uses);
+        foreach ($uses as $use) {
+            $class->addUse($use);
+        }
+
         $class->setName($baseClassName);
         $class->setExtendedClass(ResultIterator::class);
 
         $class->setDocBlock((new DocBlockGenerator(
-            "The $baseClassName class will iterate over results of $beanClassWithoutNameSpace class.",
+            "The $baseClassName class will iterate over results of $beanClassName class.",
             null,
-            [new Tag\MethodTag('getIterator', ['\\' . $beanClassName . '[]'])]
+            [
+                new Tag\MethodTag('first', [$beanClassName]),
+                new Tag\MethodTag('offsetGet', [$beanClassName]),
+                new Tag\MethodTag('getIterator', [$beanClassName . '[]']),
+                new Tag\MethodTag('toArray', [$beanClassName . '[]']),
+                new Tag\MethodTag('withOrder', [$className]),
+                new Tag\MethodTag('withParameters', [$className]),
+            ]
         ))->setWordWrap(false));
 
         $file = $this->codeGeneratorListener->onBaseResultIteratorGenerated($file, $this, $this->configuration);