docs: static void assign(ManyValueAttributeValue v1, AttributeValue v2) {
  		if (v2 != null) {
  			v1.setTopType(v2.getType());
  		}
  		if (v2 == null || !v2.isAssigned()) {
  			v1.setMultipleValues(true);
  		} else {
  			assert v2.isAssigned();
  			if (!v1.isAssigned()) {
  				v1.setValue(v2);
  			} else if (!v2.equals(v1)) {
  				v1.setMultipleValues(true);
  				if (!v1.isAssignableFrom(v2)) {
  					if (!v2.isAssignableFrom(v1)) {
  						v1.setInternalValue(null, AttributeType.OBJECT);
  					} else {
  						v1.setInternalValue(null, v2.getType());
  					}
  				}
  			}
  		}
  	}