code: public EventStream<Either<Point2D, Void>> events(Duration delay) {
          EventStream<MouseEvent> mouseEvents = eventsOf(node, MouseEvent.ANY);
          EventStream<Point2D> stationaryPositions = mouseEvents
                  .successionEnds(delay)
                  .filter(e -> e.getEventType() == MOUSE_MOVED)
                  .map(e -> new Point2D(e.getX(), e.getY()));
          EventStream<Void> stoppers = mouseEvents.supply((Void) null);
          return stationaryPositions.or(stoppers).distinct();
      }
docs: Returns an {@link EventStream} that emits a {@link Point2D} whenever the mouse becomes stationary
  over the helper's node and emits a {@code null} value whenever the mouse moves after being stationary.