createDelegationChainFromAccessToken function
Create a DelegationChain from an AccessToken extracted from a redirect URL. @param accessToken The access token extracted from a redirect URL.
Implementation
DelegationChain createDelegationChainFromAccessToken(String accessToken) {
  // Transform the HEXADECIMAL string into the JSON it represents.
  if (!isHexadecimal(accessToken) || (accessToken.length % 2) != 0) {
    throw 'Invalid hexadecimal string for accessToken.';
  }
  var strList = accessToken.split("");
  var value = List<String>.from([], growable: true);
  List<String> combineFunc(List<String> acc, String curr, int i) {
    var index = (i ~/ 2) | 0;
    var resultAcc = List<String>.from(acc);
    if (index < resultAcc.length) {
      resultAcc[index] = resultAcc[index] + curr;
    } else {
      resultAcc.add('' + curr);
    }
    return resultAcc;
  }
  for (var i = 0; i < strList.length; i += 1) {
    value = combineFunc(value, strList[i], i);
  }
  var chainJson = value
      .map((e) => int.parse(e, radix: 16))
      .toList()
      .map((e) => String.fromCharCode(e))
      .join("");
  return DelegationChain.fromJSON(chainJson);
}