Check for the extent and validate it in the constructor because it is done in both functions. I know there is going to be a lot of code duplication but is there any other common code you can factor out?