code: @FFDCIgnore(Exception.class)
      protected static final String[] parseToken(String tokenStr) throws InvalidTokenException {
          String[] fields = new String[3];
          int tokenLen = tokenStr.length();
          char c;
  
          int signBegin = -1, expireBegin = -1;
          // LTPA Token has 3 fields: userdata, expiration and sign
          // SSO Token has only two : userdata, and expiration
          try {
              for (int i = tokenLen - 1; i > -1; i--) {
                  c = tokenStr.charAt(i);
                  if (c == TOKEN_DELIM) {
                      if (tokenStr.charAt(i - 1) == '\\') {
                          // this is not a TOKEN_DELIM but part of the string tested
                          continue;
                      }
                      // we will encounter two of these
                      if (signBegin == -1) {
                          signBegin = i + 1;
                      } else {
                          expireBegin = i + 1;
                          break;
                      }
                  }
              }
              if (expireBegin == -1) {
                  // only one DELIM encountered
                  expireBegin = signBegin;
                  fields[0] = tokenStr.substring(0, expireBegin - 1);
                  fields[1] = tokenStr.substring(expireBegin, tokenLen);
              } else {
                  fields[0] = tokenStr.substring(0, expireBegin - 1);
                  fields[1] = tokenStr.substring(expireBegin, signBegin - 1);
                  fields[2] = tokenStr.substring(signBegin, tokenLen);
              }
          } catch (Exception e) {
              if (TraceComponent.isAnyTracingEnabled() && tc.isEventEnabled()) {
                  Tr.event(tc, "Error parsing token; " + e);
              }
              throw new InvalidTokenException(e.getMessage(), e);
          }
  
          return fields;
      }
docs: Parse the String form of a LTPA token and extract the UserData,
  expiration limit, and the signature.
  
  @param tokenStr The String form of a LTPA token
  @return A list of the strings. 0: The String form of the UserData,
  1: Expiration limit of the token, 2: The signature of the token