### Question:
RuleAnnotationClause extends DMNElement implements HasName { public RuleAnnotationClause copy() { final RuleAnnotationClause clonedRuleAnnotationClause = new RuleAnnotationClause(); clonedRuleAnnotationClause.name = Optional.ofNullable(name).map(Name::copy).orElse(null); return clonedRuleAnnotationClause; } RuleAnnotationClause(); RuleAnnotationClause copy(); @Override Name getName(); @Override void setName(final Name name); @Override boolean equals(final Object o); @Override int hashCode();  }### Answer:
@Test public void testCopy() { final RuleAnnotationClause source = new RuleAnnotationClause(); source.setName(new Name(RULE_NAME)); final RuleAnnotationClause target = source.copy(); assertNotNull(target); assertEquals(RULE_NAME, target.getName().getValue()); }