@Override
	public boolean equals(final Object obj) {
		if (this == obj) {
			return true;
		}
		if (obj == null) {
			return false;
		}
		if (getClass() != obj.getClass()) {
			return false;
		}
		final Version other = (Version) obj;
		if (this == ALL || other == ALL) {
			return true;
		}
		if (major != other.major) {
			return false;
		}
		if (minor != other.minor) {
			return false;
		}
		if (modifier != other.modifier) {
			return false;
		}
		if (revision != other.revision) {
			return false;
		}
		return true;
	}