Attribute { @Override public int hashCode() { return Objects.hashCode(annotations, finalModifier, name, type); } Attribute(@Nonnull final String name, @Nonnull final Type type, @Nonnull final Final finalModifier,
			@Nonnull final List<Annotation> annotations); @Override boolean equals(final Object obj); @Nonnull List<Annotation> getAnnotations(); @Nonnull Final getFinal(); @Nonnull String getName(); @Nonnull Type getType(); @Override int hashCode(); @Override String toString();  }
@Test public void equals_identical() { final Attribute a = new Blueprint().build(); final Attribute b = new Blueprint().build(); assertEquals(a, b); assertTrue(a.hashCode() == b.hashCode()); }
@Test public void equals_same() { final Attribute a = new Blueprint().build(); assertEquals(a, a); assertSame(a, a); assertTrue(a.hashCode() == a.hashCode()); }