protected function getData($valID, $iRow)
 {
     if (empty($valID)) {
         return null;
     }
     switch ($valID) {
         // data to recalculate each time
         case 'CurrIterationRow':
             $this->Values['CurrIterationRow'][0] = isset(OEDataContainer::$iCurrentRow) ? OEDataContainer::$iCurrentRow : 0;
             return $this->Values['CurrIterationRow'];
     }
     if (isset($this->Values[$valID])) {
         return $this->Values[$valID];
     }
     // certain data is calculated on demand but only once:
     switch ($valID) {
         case 'CaptchaOk':
             $this->Values['CaptchaOk'][0] = OEDynUtils::IsCaptchaOk();
             return $this->Values['CaptchaOk'];
         case 'SecurPostTokenOk':
             $this->Values['SecurPostTokenOk'][0] = OEDynUtils::IsSecurPostTokenOk(isset($this->Values['PageID'][0]) ? $this->Values['PageID'][0] : null);
             return $this->Values['SecurPostTokenOk'];
     }
     return null;
 }