@After
  public void resetServices() {
    final List<TaskModel> tasks = taskServiceStub.cleanup();
    final StringBuffer msg = new StringBuffer();
    for (final TaskModel task : tasks) {
      final ProcessTaskModel processTask = (ProcessTaskModel) task;

      msg.append(processTask.getAction()).append(", ");
    }

    assertTrue("tasks should be empty after test execution. Left: " + msg, tasks.isEmpty());
  }
  protected void assertStep(final BusinessProcessModel process, final String bean)
      throws InterruptedException {
    LOG.info("assertStep action = " + bean);

    try {
      final ProcessTaskModel processTaskModel = taskServiceStub.runProcessTask(bean);

      if (bean == null) {
        final StringBuffer found = new StringBuffer();

        for (final TaskModel task : taskServiceStub.getTasks()) {
          if (task instanceof ProcessTaskModel) {
            found.append(((ProcessTaskModel) task).getAction()).append("; ");
          }
        }

        assertNotNull(
            "No tasks found for bean " + bean + ", actions: " + found.toString(), processTaskModel);
      }

    } catch (final RetryLaterException e) {
      fail(e.toString());
    }
  }