@Override
    public void transmitLoopback(MdId mdName, MaIdShort maName,
                                 MepId mepId, MepLbCreate lbCreate) throws CfmConfigException {
        MepKeyId key = new MepKeyId(mdName, maName, mepId);
        Mep mep = mepStore.getMep(key)
                .orElseThrow(() -> new CfmConfigException("Mep " + mdName + "/" + maName + "/"
                + mepId + " not found when calling Transmit Loopback"));

        log.debug("Transmitting Loopback on MEP {} on Device {}",
                key, mep.deviceId());
        deviceService.getDevice(mep.deviceId())
                .as(CfmMepProgrammable.class)
                .transmitLoopback(mdName, maName, mepId, lbCreate);
    }
@Test
    public void testTransmitLoopback() {
        expect(mdService.getMaintenanceAssociation(MDNAME1, MANAME1))
                .andReturn(Optional.ofNullable(ma1))
                .anyTimes();
        replay(mdService);

        expect(deviceService.getDevice(DEVICE_ID1)).andReturn(device1).anyTimes();
        replay(deviceService);

        expect(driverService.getDriver(DEVICE_ID1)).andReturn(testDriver).anyTimes();
        replay(driverService);

        MepLbCreate lbCreate = DefaultMepLbCreate.builder(MepId.valueOf((short) 11)).build();
        try {
            mepService.transmitLoopback(MDNAME1, MANAME1, MEPID1, lbCreate);
        } catch (CfmConfigException e) {
            fail("Not expecting an exception");
        }
    }