если я делаю это в Java:
for(String s : myCollection.expensiveListGeneration())
{
doSomething();
}
является дорогостоящимListGeneration(), вызывается только один раз в начале или в каждом итерации цикла?
Является ли она зависимой от реализации?