I have noticed that Observable.notifyObservers notifies the latest "subscribers" before the earlier ones, is there a reason why it notifies from the end of the array?
 public void notifyObservers(Object arg) {
    Object[] arrLocal;
    synchronized (this) {
 
        if (!changed)
            return;
        arrLocal = obs.toArray();
        clearChanged();
    }
    for (int i = arrLocal.length-1; i>=0; i--)
        ((Observer)arrLocal[i]).update(this, arg);
}
