public has(key: IVariable<T>): boolean {
        return (
            this.dictionaryContainsKey(key) ||
            (typeof this.next !== 'undefined' && this.next.has(key))
        );