@Test public void fieldAccessWorks() { Mutable<Integer> m = new Mutable<>(3); assertThat(m.val, is(3)); m.val = 4; assertThat(m.getVal(), is(4)); }
public T getVal() { return val; }
Mutable { public T getVal() { return val; } }
Mutable { public T getVal() { return val; } Mutable();  Mutable(T val); }
Mutable { public T getVal() { return val; } Mutable();  Mutable(T val); void setVal(T val); T getVal(); @Override String toString(); }
Mutable { public T getVal() { return val; } Mutable();  Mutable(T val); void setVal(T val); T getVal(); @Override String toString(); public T val; }