Tooling API models don't have to implement ProjectVersion3 (unless they were around in 1.0-milestone-7 or earlier).
Don't use reflection to build the eclipse model.
Small tweak to generics,
Added some javadocs about which version the tooling API protocol interfaces were added and (logically) removed, and which versions of the consumer and provider use or provider each interface and method.
Javadocs.