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.