public void install(Duration delay) {
        if(installed != null) {
            installed.unsubscribe();
        }
        installed = events(delay).<Event>map(either -> either.unify(
                pos -> MouseStationaryEvent.beginAt(node.localToScreen(pos)),
                stop -> MouseStationaryEvent.end()))
            .subscribe(evt -> Event.fireEvent(node, evt));
    }
public void install ( Duration delay ) { if ( installed != null ) { installed . unsubscribe ( ) ; } installed = events ( delay ) . < Event > map ( either -> either . unify ( pos -> MouseStationaryEvent . beginAt ( node . localToScreen ( pos ) ) , stop -> MouseStationaryEvent . end ( ) ) ) . subscribe ( evt -> Event . fireEvent ( node , evt ) ) ; }
Sets up the code to fire a {@code BEGIN} event when the mouse becomes stationary over the node and has not
moved for the given amount of time ({@code delay}), and to fire a {@code END} event when the stationary
mouse moves again. Note: any previously installed delays will be removed without creating memory leaks.