This method should be private and documented.