Started caching also missing() and probablyMissing() states for the descriptors. Reworked the code so that mutable types are not used for caching.
Added equals() and hashcode() to the artifact identifier because I will need them soon.
Moved DefaultArtifactIdentifier to core-impl where it belongs to.
Refactored a bit so that it's easier to create artifact identifiers. I'll need this soon.
Started using different type for keys of artifact cache. The previous key (Artifact type) was mutable as well as it was the ivy legacy.
Fixed the issue. If the metadata is not resolved it cannot be queried for certain information.