public function infer()
    {
        $bestInferredFields = [];
        foreach ($this->fieldsPopularity as $fieldName => $fieldTypesPopularity) {
            $bestInferredFields[$fieldName] = $this->inferField($fieldName, $fieldTypesPopularity);
        }

        return $bestInferredFields;
    }
public function infer()
    {
        $bestInferredFields = [];
        foreach ($this->fieldsPopularity as $fieldName => $fieldTypesPopularity) {
            $bestInferredFields[$fieldName] = $this->inferField($fieldName, $fieldTypesPopularity);
        }

        return $bestInferredFields;
    }
public function infer ( ) { $ bestInferredFields = [ ] ; foreach ( $ this -> fieldsPopularity as $ fieldName => $ fieldTypesPopularity ) { $ bestInferredFields [ $ fieldName ] = $ this -> inferField ( $ fieldName , $ fieldTypesPopularity ) ; } return $ bestInferredFields ; }
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
return the best inferred fields along with the best value casting according to the rows received so far .