### Question:
Meta implements Shape { public static Meta label(final String value) { return new Meta(Shape.Label, value); } private  Meta(final Object label, final Object value); static Meta alias(final String value); static Meta label(final String value); static Meta notes(final String value); static Meta placeholder(final String value); static Meta dflt(final Object value); static Meta hint(final String value); static Meta group(final String value); static Meta index(final boolean value); static Optional<String> alias(final Shape shape); static Optional<String> label(final Shape shape); static Optional<String> notes(final Shape shape); static Optional<String> placeholder(final Shape shape); static Optional<String> dflt(final Shape shape); static Optional<String> hint(final Shape shape); static Optional<String> group(final Shape shape); static Optional<Boolean> index(final Shape shape); static Meta meta(final Object label, final Object value); static Optional<Object> meta(final Object label, final Shape shape); Object getLabel(); Object getValue(); @Override T map(final Probe<T> probe); @Override boolean equals(final Object object); @Override int hashCode(); @Override String toString();  }### Answer:
@Test void testCollectMetadataFromAnnotationShapes() { assertThat(label(label("label"))) .as("collected from metadata") .contains("label"); }
@Test void testCollectDuplicateMetadata() { assertThat(label(and( label("label"), label("label") ))) .contains("label"); }
@Test void testIgnoreConflictingMetadata() { assertThat(label(and( label("label"), label("other") ))).isEmpty(); }
@Test void testIgnoreMetadataFromStructuralShapes() { assertThat(label(field("value", field("value", label("label"))))) .as("ignored in fields") .isEmpty(); }