support phpstorm iterator