Making certain subclasses final, ensuring hashCode() is overridden for all classes overriding equals, PTTime.java now passes checkstyle audit.