Add javadoc
Extract strings to static final fields
Format per coding standard
Fix [SonarQube] Generic exceptions Error, RuntimeException, Throwable
and Exception should never be thrown (Define and throw a dedicated
exception instead of using a generic one)
Fix [SonarQube] Singular Field (Perhaps 'grpId', 'grpTitle' could be
replaced by a local variable)