Description
Tighten the API by the following improvements:
- replace the need to provide a new object of vertex parts
- readState/writeState shouldn't be forced to override (clutters code with empty methods)
- add preconditions for not supplied readers
- generalize the usage of vertex part classes and unify their usage
- replace unuseful testcases / test methods
- simplify graph logic by removing repair functionalities
- formatting + organize of imports
- add WritableComparable<?> to the vertex ID for efficient merging of vertices and joining of them with messages