moved generic method as protected to main class