The behaviour is like this:
If I have a pom with a single dependency with a version range like this.
I can access the version range using the resolved dependency artifact.
If the same dependency is picked up transitively from another dependency, for example junit is a trasitive dependency of maven-project:
Now the VersionRange object is returned, but it only contains the resolved version. For example "3.8.1".