This is incorrect due to recursive uses of this.