/**
  * @param $list_settings Data_List_Settings
  * @return Reflection_Property_Value[] key is the property path
  */
 public function getSearchValues(Data_List_Settings $list_settings)
 {
     $search = array_combine($list_settings->properties_path, $list_settings->properties_path);
     foreach ($list_settings->search as $property_path => $search_value) {
         if (isset($search[$property_path])) {
             $property = new Reflection_Property_Value($list_settings->class_name, $property_path, $search_value, true);
             if ($property->getType()->isClass()) {
                 $property->value(Dao::read($search_value, $property->getType()->asString()));
             } else {
                 $property->value($search_value);
             }
             $search[$property_path] = $property;
         }
     }
     return $search;
 }