restoreDraft(userId) {
        const formio = this.formio || this.options.formio;
        if (!formio) {
            this.handleDraftError('restoreDraftInstanceError', null, true);
            return;
        }
        this.savingDraft = true;
        formio
            .loadSubmissions({
                params: {
                    state: 'draft',
                    owner: userId,
                    sort: '-created'
                },
            })
            .then((submissions) => {
                if (submissions.length > 0 && !this.options.skipDraftRestore) {
                    const draft = fastCloneDeep(submissions[0]);
                    return this.setSubmission(draft).then(() => {
                        this.draftEnabled = true;
                        this.savingDraft = false;
                        this.emit('restoreDraft', draft);
                    });
                }
                // Enable drafts so that we can keep track of changes.
                this.draftEnabled = true;
                this.savingDraft = false;
                this.emit('restoreDraft', null);
            })
            .catch((err) => {
                this.draftEnabled = true;
                this.savingDraft = false;
                this.handleDraftError('restoreDraftError', err, true);
            });
    }
Restores a draft submission based on the user who is authenticated.
@param {string} userId - The user id where we need to restore the draft from.