title: java attempt to mutate in notification
body: <p>I have two swing ui forms and a module that they both look at.<br>
  Each ui is adding a listener to the change of an attribute 
  and update its own textfield when a change occurs. </p>
  
  <p>basiccaly - they both should update the module and be update from it. 
  Is there a way simple  to do it whithout a binding framework  </p>
  
  <p>Here is how I do it (but I keep getting attempt to mutate in notification ) - </p>
  
  <p>On the update of my textField </p>
  
  <pre><code> myTextField.getDocument().addDocumentListener(new TFDocumentListener() {
              protected void userChangedTF() {
                  Float value = myTextField.getValue();
                  if (value != null) {
                      myObj.setMyAttribute(value);
                  }
              }
          });
  </code></pre>
  
  <p>still in the ui - registering the change            </p>
  
  <pre><code>        myObj.addMyAttributeChangedListener(new ValueChangeListener&lt;Float&gt;() {
              @Override public void valueChanged(Float value) {
                  if (!myTextField.isFocusOwner()) {
                      myTextField.setValueIn(value);
                  }
              }
          });
  </code></pre>
  
  <p>in the module - when setMyAttribute occurs - it calls this function </p>
  
  <pre><code>private void notifyIntervalChanged(float newValue) {
      for (ValueChangeListener valueChangeListener : intervalChangedListenersList) {
          valueChangeListener.valueChanged(newValue);
      }
  }
  </code></pre>
  
  <p>and I declared   </p>
  
  <pre><code>public interface ValueChangeListener&lt;T&gt; {
       void valueChanged(T Value)
  }
  </code></pre>