### Question:
NameHolder implements DMNProperty { @Override public boolean equals(final Object o) { if (this == o) { return true; } if (!(o instanceof NameHolder)) { return false; } final NameHolder name = (NameHolder) o; return Objects.equals(value, name.value); } NameHolder();  NameHolder(final Name value); NameHolder copy(); Name getValue(); void setValue(final Name value); @Override boolean equals(final Object o); @Override int hashCode(); static final String DEFAULT_NAME; @Type
    static final PropertyType type; }### Answer:
@Test public void testEquals() { assertEquals(holder1, holder1); assertEquals(holder1, holder2); assertNotEquals(holder1, holder3); assertNotEquals(holder2, holder3); assertNotEquals(holder1, "Cheese"); }