code: public void setProperties(final AttributePropertiesImpl properties) throws DevFailed {
          if (isMemorized()) {
              Object memorizedValue = getMemorizedValue();
              if (memorizedValue != null && memorizedValue.getClass().isAssignableFrom(Number.class)) {
                  final double memoValue = Double.parseDouble(memorizedValue.toString());
                  if (properties.getMaxValueDouble() < memoValue || properties.getMinValueDouble() > memoValue) {
                      throw DevFailedUtils.newDevFailed("min or max value not possible for current memorized value");
                  }
              }
          }
          config.setAttributeProperties(properties);
          if (isFwdAttribute) {
              // set config on forwarded attribute
              final ForwardedAttribute fwdAttr = (ForwardedAttribute) behavior;
              properties.setRootAttribute(fwdAttr.getRootName());
              fwdAttr.setAttributeConfiguration(config);
          }
          config.persist(deviceName);
          EventManager.getInstance().pushAttributeConfigEvent(deviceName, name);
      }
docs: Set the attribute properties.
  
  @param properties The attribute properties
  @throws DevFailed