code: @Override
      public synchronized String saveToken(Class<?> groupType) {
          if (groupType == null) {
              throw new IllegalArgumentException("The argument 'groupType' should not be null.");
          }
          checkDoubleSubmitPreconditionExists(groupType);
          final DoubleSubmitTokenMap tokenMap = getSessionTokenMap().orElseGet(() -> {
              final DoubleSubmitTokenMap firstMap = new DoubleSubmitTokenMap();
              requestManager.getSessionManager().setAttribute(getTransactionTokenKey(), firstMap);
              return firstMap;
          });
          final String generated = generateToken(groupType);
          showSavingToken(groupType, generated);
          tokenMap.put(groupType, generated);
          return generated;
      }
docs: ------