private Statement nextChainedInvoker(Statement methodInvoker) {
    Field[] declaredFields = methodInvoker.getClass().getDeclaredFields();

    for (Field field : declaredFields) {
      Statement statement = statementOrNull(methodInvoker, field);
      if (statement != null) return statement;
    }

    return null;
  }