Could you explain why you've made this private? I think it's intended to be called from outside the class.