protected function indexProjection($index, $variableName = 'row')
{
return new Q\Functions\ElementProjection($this->parameter(), self::SCOPE_TYPE, self::SCOPE_NAMESPACE, [$this->parameter() => 'this'], [O\Expression::parameter($variableName)], [O\Expression::returnExpression(O\Expression::index(O\Expression::variable(O\Expression::value($variableName)), O\Expression::value($index)))]);
}