@Test public void equals_same() { final Constructor a = new Blueprint().build(); assertEquals(a, a); assertSame(a, a); assertTrue(a.hashCode() == a.hashCode()); }
@Override public int hashCode() { return Objects.hashCode(name, attributes, visibility, annotations); }
Constructor { @Override public int hashCode() { return Objects.hashCode(name, attributes, visibility, annotations); } }
Constructor { @Override public int hashCode() { return Objects.hashCode(name, attributes, visibility, annotations); } Constructor(@Nonnull final String name, @Nonnull final List<Attribute> attributes, @Nonnull final Visibility visibility,
			@Nonnull final List<Annotation> annotations); }
Constructor { @Override public int hashCode() { return Objects.hashCode(name, attributes, visibility, annotations); } Constructor(@Nonnull final String name, @Nonnull final List<Attribute> attributes, @Nonnull final Visibility visibility,
			@Nonnull final List<Annotation> annotations); @Override boolean equals(final Object obj); @Nonnull List<Annotation> getAnnotations(); @Nonnull List<Attribute> getAttributes(); @Nonnull String getName(); @Nonnull Visibility getVisibility(); @Override int hashCode(); @Override String toString(); }
Constructor { @Override public int hashCode() { return Objects.hashCode(name, attributes, visibility, annotations); } Constructor(@Nonnull final String name, @Nonnull final List<Attribute> attributes, @Nonnull final Visibility visibility,
			@Nonnull final List<Annotation> annotations); @Override boolean equals(final Object obj); @Nonnull List<Annotation> getAnnotations(); @Nonnull List<Attribute> getAttributes(); @Nonnull String getName(); @Nonnull Visibility getVisibility(); @Override int hashCode(); @Override String toString();  }