ViewerFrame:
- Added lots of Javadocs to resolve the final Checkstyle issues.
- Made several fields final since these always refer to the same object.
- Removed some unnecessary null checks.