class ArtifactsConverter {

    public PropertyWriter toElement(Node<View<BaseArtifacts>, ?> node) {
        return NodeMatch.fromNode(BaseArtifacts.class, PropertyWriter.class)
                .when(TextAnnotation.class, this::toTextAnnotation)
                .when(DataObject.class, this::toDataObjectAnnotation)
                .ignore(Object.class)
                .apply(node)
                .value();
    }

    public  ArtifactsConverter(PropertyWriterFactory propertyWriterFactory);

}