Instead of trying to reassign "this", just reinitialize all of the variables (i.e., do whatever the Matrix constructor does). You probably want an "initialize" method that both the constructor and this "reinitialize" method can call. That way, you won't duplicate code (or, at least, not have to duplicate as much code).