### Question:
NameHolder implements DMNProperty { public NameHolder copy() { return new NameHolder(Optional.ofNullable(value).map(Name::copy).orElse(null)); } 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 testCopy() { final NameHolder source = new NameHolder(new Name(NAME)); final NameHolder target = source.copy(); assertNotNull(target); assertEquals(NAME, target.getValue().getValue()); }