code: @Override
      public final void start(final Collection<? extends Location> locations) {
          if (DynamicTasks.getTaskQueuingContext() != null) {
              doStart(locations);
          } else {
              Task<?> task = Tasks.builder().name("start (sequential)").body(new Runnable() {
                  public void run() {
                      doStart(locations);
                  }
              }).build();
              Entities.submit(this, task).getUnchecked();
          }
      }
docs: If custom behaviour is required by sub-classes, consider overriding
  {@link #doStart(java.util.Collection)})}.