def read_dict_from_properties(desired_type: Type[dict], file_object: TextIOBase,<EOL>logger: Logger, conversion_finder: ConversionFinder, **kwargs) -> Dict[str, Any]:
<EOL>class Unicoder:<EOL><INDENT>def __init__(self, file_object):<EOL><INDENT>self.f = file_object<EOL><DEDENT>def __iter__(self):<EOL><INDENT>return self<EOL><DEDENT>def __next__(self):<EOL><INDENT>line = self.f.__next__()<EOL>return line.encode(encoding='<STR_LIT:utf-8>')<EOL><DEDENT><DEDENT>res = jprops.load_properties(Unicoder(file_object))<EOL>res = {key: try_parse_num_and_booleans(val) for key, val in res.items()}<EOL>return ConversionFinder.convert_collection_values_according_to_pep(res, desired_type, conversion_finder, logger, <EOL>**kwargs)<EOL>
Helper method to read a dictionary from a .properties file (java-style) using jprops.
Since jprops does not provide automatic handling for boolean and numbers, this tries to add the feature.

:param file_object:
:return: