Add since tags, equals/hashCode/toString methods. Reformat code. Original pull request: #2060. Closes #2055