public static ClientFlowExecutionKey parse(final String key) throws BadlyFormattedFlowExecutionKeyException {
        val tokens = Splitter.on('_').splitToList(key);
        if (tokens.size() != 2) {
            throw new BadlyFormattedFlowExecutionKeyException(key, KEY_FORMAT);
        }
        try {
            val uuid = UUID.fromString(tokens.getFirst());
            val decoded = CodecUtil.b64(tokens.get(1));
            return new ClientFlowExecutionKey(uuid, decoded);
        } catch (final Exception e) {
            LoggingUtils.error(LOGGER, e);
            throw new BadlyFormattedFlowExecutionKeyException(key, KEY_FORMAT);
        }
    }
Parse.

@param key the key
@return the client flow execution key
@throws BadlyFormattedFlowExecutionKeyException the badly formatted flow execution key exception
core/cas-server-core-webflow-api/src/main/java/org/apereo/cas/web/flow/executor/ClientFlowExecutionKey.java