docs: def create(cls, json, **kwargs):
          # type: (dict, **Any) -> Property
          """Create a property based on the json data.
  
          This method will attach the right class to a property, enabling the use of type-specific methods.
  
          It does not create a property object in KE-chain. But a pseudo :class:`Property` object.
  
          :param json: the json from which the :class:`Property` object to create
          :type json: dict
          :return: a :class:`Property` object
          """
          property_type = json.get('property_type')
  
          if property_type == PropertyType.ATTACHMENT_VALUE:
              from .property_attachment import AttachmentProperty
              return AttachmentProperty(json, **kwargs)
          elif property_type == PropertyType.SINGLE_SELECT_VALUE:
              from .property_selectlist import SelectListProperty
              return SelectListProperty(json, **kwargs)
          elif property_type == PropertyType.REFERENCE_VALUE:
              from .property_reference import ReferenceProperty
              return ReferenceProperty(json, **kwargs)
          elif property_type == PropertyType.REFERENCES_VALUE:
              from .property_multi_reference import MultiReferenceProperty
              return MultiReferenceProperty(json, **kwargs)
          else:
              return Property(json, **kwargs)