@Override
    public void register(PiPipeconf pipeconf) throws IllegalStateException {
        checkNotNull(pipeconf);
        if (pipeconfs.containsKey(pipeconf.id())) {
            throw new IllegalStateException(format("Pipeconf %s is already registered", pipeconf.id()));
        }
        pipeconfs.put(pipeconf.id(), pipeconf);
        log.info("New pipeconf registered: {} (fingerprint={})",
                 pipeconf.id(), HexString.toHexString(pipeconf.fingerprint()));
        executor.execute(() -> attemptMergeAll(pipeconf.id()));
        post(new PiPipeconfEvent(PiPipeconfEvent.Type.REGISTERED, pipeconf));
    }
@Test
    public void register() {
        mgr.register(pipeconf);
        assertTrue("PiPipeconf should be registered", mgr.pipeconfs.containsValue(pipeconf));
    }