private void insertNewValue(Object newValue, boolean onlyIfNull) { attachIfNecessary(); synchronized (this) { ConfigValue oldValue, value; oldValue = value = this.value; if (onlyIfNull && !(oldValue instanceof NullConfigValue)){ return; } if (newValue instanceof Collection) { if (!(value instanceof ListConfigValue)) { value = new ListConfigValue(this); } } else if (newValue instanceof Map) { if (!(value instanceof MapConfigValue)) { value = new MapConfigValue(this); } } else if (!(value instanceof ScalarConfigValue)) { value = new ScalarConfigValue(this); } value.setValue(newValue); /*if (oldValue != null && oldValue != value) { oldValue.clear(); }*/ this.value = value; } }
value.setValue(newValue);
value.setValue(newValue);