public class Observable<T>
extends java.lang.Object
like java.util.Observable, But uses generics to avoid need for a cast.
For any un-documented variable, parameter or method, see java.util.Observable
Based on code from https://codereview.stackexchange.com/questions/76924/java-util-observable-but-with-generics-to-avoid-casts
Specifically - https://codereview.stackexchange.com/a/76927
Note that, apart from the generics, the signatures are the same as the existing Observable.
Additionally, the synchronization uses an internal instance
The original Observer is not synchronized, and, this one does things a little differently in the notify method,
because it does the notification after doing the changed=false change.
The JavaDoc for the original Observable indicates that the change should only be reset after the notifications....