https://developers.google.com/protocol-buffers/docs/reference/java/index?com/google/protobuf/package-summary.html