code: def __patch_attr_methods(tango_device_klass, attribute):
      
      if attribute.attr_write in (AttrWriteType.READ,
                                  AttrWriteType.READ_WRITE):
          __patch_read_method(tango_device_klass, attribute)
      if attribute.attr_write in (AttrWriteType.WRITE,
                                  AttrWriteType.READ_WRITE):
          __patch_write_method(tango_device_klass, attribute)
docs: Checks if the read and write methods have the correct signature.
      If a read/write method doesn't have a parameter (the traditional
      Attribute), then the method is wrapped into another method to make
      this work.
  
      :param tango_device_klass: a DeviceImpl class
      :type tango_device_klass: class
      :param attribute: the attribute data information
      :type attribute: AttrData