class Exclusion {

		private final String groupId;

		private final String artifactId;

		public Exclusion(String groupId, String artifactId) {
			Assert.hasText(groupId, "GroupId must not be null");
			Assert.hasText(groupId, "ArtifactId must not be null");
			this.groupId = groupId;
			this.artifactId = artifactId;
		}

		public String getGroupId() {
			return this.groupId;
		}

		public String getArtifactId() {
			return this.artifactId;
		}

		@Override
		public boolean equals(Object o) {<FILL_FUNCTION_BODY>}

		@Override
		public int hashCode() {
			return Objects.hash(this.groupId, this.artifactId);
		}

	}

			if (this == o) {
				return true;
			}
			if (o == null || getClass() != o.getClass()) {
				return false;
			}
			Exclusion exclusion = (Exclusion) o;
			return this.groupId.equals(exclusion.groupId) && this.artifactId.equals(exclusion.artifactId);
		
<no_super_class>