title: volatile mutable object that doesn't change after assignment
body: <p>Scenario:</p>
  <pre><code>class Foo {
  
      volatile Bar bar;
  }
  
  class Bar {
  
      int baz;
  }
  
  for (int i = 0; i &lt; n; i++) {
      Bar bar = new Bar();
      bar.baz = 1;
      foo.bar = bar;
  } 
  </code></pre>
  <p>Is is guaranteed that baz variable will be always visible, if Bar isn't immutable (baz isn't final or volatile) but baz never changes after bar assignment?</p>