Maybe this method can be private? Or is it essential it is part of the public API?