code: def generate_properties(self):
          
          self.create_variable_is_dict()
          with self.l('if {variable}_is_dict:'):
              self.create_variable_keys()
              for key, prop_definition in self._definition['properties'].items():
                  key_name = re.sub(r'($[^a-zA-Z]|[^a-zA-Z0-9])', '', key)
                  with self.l('if "{}" in {variable}_keys:', key):
                      self.l('{variable}_keys.remove("{}")', key)
                      self.l('{variable}__{0} = {variable}["{1}"]', key_name, key)
                      self.generate_func_code_block(
                          prop_definition,
                          '{}__{}'.format(self._variable, key_name),
                          '{}.{}'.format(self._variable_name, key),
                      )
                  if isinstance(prop_definition, dict) and 'default' in prop_definition:
                      self.l('else: {variable}["{}"] = {}', key, repr(prop_definition['default']))
docs: Means object with defined keys.
  
          .. code-block:: python
  
              {
                  'properties': {
                      'key': {'type': 'number'},
                  },
              }
  
          Valid object is containing key called 'key' and value any number.