Add javadoc
Fix [SonarQube] The Object.finalize() method should never be overriden
(Do not override the Object.finalize() method)

Fix [SonarQube] super.finalize() should be called at the end of
Object.finalize() implementations (Add a call to super.finalize() at the
end of this Object.finalize() implementation)

Fix [SonarQube] Object.finalize() should remain protected (versus
public) when overriding (Make this finalize() method protected)
Fix [SonarQube] Throws declarations should not be redundant (Remove the
declaration of thrown exception 'DatabaseException' which is a runtime
exception)
Fix [SonarQube] Throws declarations should not be redundant (Remove the
declaration of thrown exception 'DatabaseException' which is a runtime
exception)
Fix [SonarQube] Unused local variable
Fix [SonarQube] String literals should not be duplicated (Define a
constant instead of duplicating a literal N times)
Fix [SonarQube] Avoid commented-out lines of code (A block of
commented-out lines of code should be removed)
Remove unused import
Format per coding standard
Refactor field name for descriptiveness
Update javadoc
Refactor parameter name for descriptiveness
Refactor parameter name for descriptiveness
Refactor parameter name for descriptiveness
Refactor parameter name for descriptiveness
Refactor parameter name for descriptiveness
Refactor parameter name for descriptiveness
Refactor parameter name for descriptiveness
Add override annotation
Add override annotations