code: @Programmatic
      @Override
      public void complete(final Command command) {
          final CommandJdo commandJdo = asUserInitiatedCommandJdo(command);
          if(commandJdo == null) {
              return;
          }
  
          //
          // prior to 1.13.0 there was a guard here to not persist the command if the completedAt had been set.
          // as of 1.13.0, this field is populated by the framework, so the guard no longer makes sense.
          //
          // can't store target if too long (eg view models)
          if (commandJdo.getTargetStr() != null && commandJdo.getTargetStr().length() > JdoColumnLength.BOOKMARK) {
              commandJdo.setTargetStr(null);
          }
  
          if(commandJdo.shouldPersist()) {
              repositoryService.persist(commandJdo);
          }
  
      }
docs: region > complete (API)