code: private function extract($stmt, ArrayDto $arrayDto, array $parentClass = array())
      {
          if ($stmt instanceof Expr\Assign) {
              if ($stmt->expr instanceof Expr\BinaryOp) {
                  $stmt->expr = $stmt->expr->left;
                  $arrayDto->addCollected($this->dispatcher->pExpr_Assign($stmt));
              } else {
                  $arrayDto->addCollected($this->dispatcher->pExpr_Assign($stmt));
              }
          } elseif ($this->isVarModification($stmt) && !in_array("PhpParser\Node\Expr\Assign", $parentClass)) {
              $arrayDto->addCollected($this->dispatcher->p($stmt));
          } elseif ($this->isVarCreation($stmt) && !in_array("PhpParser\Node\Expr\ArrayItem", $parentClass) && !in_array("PhpParser\Node\Expr\Assign", $parentClass)) {
              $arrayDto->addCollected('let tmpArray'.md5(serialize($stmt->items)).' = '.$this->dispatcher->p($stmt));
          }
  
          return $arrayDto;
      }
docs: @param mixed  $stmt
  @param ArrayDto  $arrayDto
  @param string $parentClass
  
  @return array