dynamic versioning in java source code