Abstract class's constructor was public access modifier, so i changed it to protected because we must use the most restricted range available.
Comment From: philwebb
Thanks for the suggestion but we're not worried about using public constructors on abstract classes. If we did want such a change we'd ideally enforce it using a checkstyle rule.