Why did you change this from static to non-static? Calling non-static methods in a constructor can be dangerous. You can lose the guarantees of "final"