original_string: public function infer()
      {
          $bestInferredFields = [];
          foreach ($this->fieldsPopularity as $fieldName => $fieldTypesPopularity) {
              $bestInferredFields[$fieldName] = $this->inferField($fieldName, $fieldTypesPopularity);
          }
  
          return $bestInferredFields;
      }
code: public function infer()
      {
          $bestInferredFields = [];
          foreach ($this->fieldsPopularity as $fieldName => $fieldTypesPopularity) {
              $bestInferredFields[$fieldName] = $this->inferField($fieldName, $fieldTypesPopularity);
          }
  
          return $bestInferredFields;
      }
code_tokens: public function infer ( ) { $ bestInferredFields = [ ] ; foreach ( $ this -> fieldsPopularity as $ fieldName => $ fieldTypesPopularity ) { $ bestInferredFields [ $ fieldName ] = $ this -> inferField ( $ fieldName , $ fieldTypesPopularity ) ; } return $ bestInferredFields ; }
docstring: return the best inferred fields along with the best value casting according to the rows received so far.
  
  @return array field name => inferred field object
  
  @throws FieldValidationException
docstring_tokens: return the best inferred fields along with the best value casting according to the rows received so far .