### Question:
BPMNElementDecorators { public static <T extends BpmnNode> MarshallingMessageDecorator<T> bpmnNodeDecorator() { return MarshallingMessageDecorator.of(o -> Optional.ofNullable(o.value() .getContent() .getDefinition() .getGeneral() .getName() .getValue()) .orElseGet(() -> o.value().getUUID()), bpmnNode -> bpmnNode.value() .getContent() .getDefinition() .getClass() .getSimpleName()); }  static MarshallingMessageDecorator<T> flowElementDecorator(); static MarshallingMessageDecorator<T> baseElementDecorator(); static MarshallingMessageDecorator<T> bpmnNodeDecorator(); static MarshallingMessageDecorator<Result> resultBpmnDecorator();  }### Answer:
@Test public void bpmnNodeDecorator() { MarshallingMessageDecorator<BpmnNode> decorator = BPMNElementDecorators.bpmnNodeDecorator(); BpmnNode element = mockBpmnNode(); assertEquals(NAME, decorator.getName(element)); assertEquals(element.value().getContent().getDefinition().getClass().getSimpleName(), decorator.getType(element)); }