code: public static void listenInline(Runnable listener, ISynchronizationPoint<?>... synchPoints) {
  		JoinPoint<Exception> jp = new JoinPoint<>();
  		for (int i = 0; i < synchPoints.length; ++i)
  			if (synchPoints[i] != null)
  				jp.addToJoin(synchPoints[i]);
  		jp.start();
  		jp.listenInline(listener);
  	}
docs: Shortcut method to create a JoinPoint waiting for the given synchronization points, start the JoinPoint,
  and add the given listener to be called when the JoinPoint is unblocked.
  If any synchronization point has an error or is cancelled, the JoinPoint is immediately unblocked.
  If some given synchronization points are null, they are just skipped.