@Override
    public Message toCAN(CANOpenFrame frame) {
        try {
            CANOpenPayload payload = frame.getPayload();
            WriteBufferByteBased buffer = new WriteBufferByteBased(payload.getLengthInBytes(), ByteOrder.LITTLE_ENDIAN);
            payload.serialize(buffer);
            return builder.get().withId(frame.getService().getMin() + frame.getNodeId())
                .withData(buffer.getBytes())
                .create();
        } catch (SerializationException e) {
            throw new PlcRuntimeException(e);
        }
    }
Dedicated frame handler instance which can create {@link CANOpenFrame} from received {@link FrameData} and dump it back
via passed {@link CANFrameBuilder} back to the wire.
plc4j/drivers/canopen/src/main/java/org/apache/plc4x/java/canopen/transport/CANOpenFrameDataHandler.java