@Deprecated
  public <T> CommandResult executeCommandWithInstance(T instance, String command) {
    GfshParseResult parseResult = parse(command);

    if (parseResult == null) {
      return new CommandResult(ResultModel.createError("Invalid command: " + command));
    }

    CliAroundInterceptor interceptor = null;
    CliMetaData cliMetaData = parseResult.getMethod().getAnnotation(CliMetaData.class);

    if (cliMetaData != null) {
      String interceptorClass = cliMetaData.interceptor();
      if (!CliMetaData.ANNOTATION_NULL_VALUE.equals(interceptorClass)) {
        try {
          interceptor = (CliAroundInterceptor) ClassPathLoader.getLatest().forName(interceptorClass)
              .newInstance();
        } catch (Exception e) {
          throw new RuntimeException(e);
        }

        ResultModel preExecResult = interceptor.preExecution(parseResult);
        if (preExecResult instanceof ResultModel) {
          if (preExecResult.getStatus() != Result.Status.OK) {
            return new CommandResult(preExecResult);
          }
        } else {
          if (Result.Status.ERROR.equals(((Result) preExecResult).getStatus())) {
            return new CommandResult(preExecResult);
          }
        }
      }
    }

    Object exeResult = commandExecutor.execute(instance, parseResult);
    return new CommandResult((ResultModel) exeResult);
  }
@param <T> the type of command class
@param instance an instance of the command class
@param command the command to execute
@return a {@link CommandResult}
@deprecated use {@link #executeAndAssertThat(Object, String)} instead
geode-junit/src/main/java/org/apache/geode/test/junit/rules/GfshParserRule.java