docs: private Observable<Indexable> invokeInternAsync(final InvocationContext context,
                                                      final boolean shouldRunBeforeGroupInvoke,
                                                      final Set<String> skipBeforeGroupInvoke) {
          if (!isPreparer()) {
              return Observable.error(new IllegalStateException("invokeInternAsync(cxt) can be called only from root TaskGroup"));
          }
          this.taskGroupTerminateOnErrorStrategy = context.terminateOnErrorStrategy();
          if (shouldRunBeforeGroupInvoke) {
              // Prepare tasks and queue the ready tasks (terminal tasks with no dependencies)
              //
              this.runBeforeGroupInvoke(skipBeforeGroupInvoke);
          }
          // Runs the ready tasks concurrently
          //
          return this.invokeReadyTasksAsync(context);
      }