public clone(): this {
        return new (this.constructor as new () => this)().fromArray(this.elements) as this;
    }