Description
I'm currently optimizing a very large (2000+ submodule) project. ComparableVersion.parseVersion is one of the CPU/memory hotspots, because it creates a "canonical" String from the parsed parts, even though that String is only used by tests/debugging. It would be more efficient to only create that String on demand.