public boolean equalsIgnoreVersion(Dependency other) {
        if (other == null) {
            return false;
        }
        if (getClass() != other.getClass()) {
            return false;
        }
        if ((this.groupId == null) ? (other.groupId != null) : !this.groupId.equals(other.groupId)) {
            return false;
        }
        if ((this.artifactId == null) ? (other.artifactId != null) : !this.artifactId.equals(other.artifactId)) {
            return false;
        }
        if (!isTypeEquals(this.type, other.type)) {
            return false;
        }
        // Classifier is still important here as it can influence greatly the contents of the artifact (a source artifact is very different from a normal artifact)
        return !((this.classifier == null) ? (other.classifier != null) : !this.classifier.equals(other.classifier));
    }