public void read(Image<? super T> to) {
        if (to == initial)
            throw new IllegalArgumentException();
        
        while(true) {
            long rev = after.get();
            to.mirrorFrom(initial);
            if (before.get() == rev)
                break;
        }
    }