protected function createConditionsFromKeys(Model $model, $conditionKeys = array(), $valueKeys = array())
 {
     $conditionString = implode('_and_', $conditionKeys);
     $conditionValues = array_values($model->getValuesFor($valueKeys));
     // return null if all the foreign key values are null so that we don't try to do a query like "id is null"
     if (all(null, $conditionValues)) {
         return null;
     }
     $conditions = SQLBuilder::createConditionsFromUnderscoredString(Table::load(get_class($model))->conn, $conditionString, $conditionValues);
     # DO NOT CHANGE THE NEXT TWO LINES. add_condition operates on a reference and will screw options array up
     if (isset($this->options['conditions'])) {
         $optionsConditions = $this->options['conditions'];
     } else {
         $optionsConditions = array();
     }
     return Utils::addCondition($optionsConditions, $conditions);
 }