list = $list; } /** * Create an instance. * * @param Order[] $list */ public static function create(array $list): self { return new self($list); } public function rewind(): void { $this->position = 0; } public function current(): Order { return $this->list[$this->position]; } public function key(): int { return $this->position; } public function next(): void { ++$this->position; } public function valid(): bool { return isset($this->list[$this->position]); } }