/**
  * internal function to get the fields which are in the limits for one where clause in a relationship
  * @param I2CE_MagicDataNode $whereConfig
  * @param array $limited_fields array of boolean indexed by the names of the fields
  */
 protected function _getLimitingFields($whereConfig, &$limiting_fields)
 {
     if (!$whereConfig instanceof I2CE_MagicDataNode) {
         I2CE::raiseError("Invalid where clause");
         return;
     }
     if (!isset($whereConfig->operator)) {
         return;
     }
     if ($whereConfig->operator == 'FIELD_LIMIT') {
         //see if we have a valid field, if so add it to our list
         $whereConfig->setIfIsSet($field, 'field');
         if ($field && !in_array($field, $limiting_fields)) {
             $limiting_fields[$field] = true;
         }
     } else {
         if (in_array($whereConfig->operator, self::$operands)) {
             //go down
             if (!$whereConfig->is_parent('operand')) {
                 return;
             }
             foreach ($whereConfig->operand as $operand => $opConfig) {
                 $this->_getLimitingFields($opConfig, $limiting_fields);
             }
         }
     }
     //else do nothing
 }