@Override
    public void lostOwnership(Clipboard cb, Transferable tt) {
        LOG.trace(format("lostOwnership cb=%s, tt=%s", cb, tt));
        while (true) {
            try {
                Transferable t = cb.getContents(null);
                LOG.trace(format("Обрабатываю Transferable: %s", t));
                process(t);
                regainOwnership(cb);
                return;
            } catch (IllegalStateException e) {
                LOG.trace(e.getMessage(), e);//trace п.ч. часто падает и не является ошибкой (напр, по PrintScreen)
                try {
                    Thread.sleep(200);
                } catch (InterruptedException ie) {
                    LOG.error(ie.getMessage(), ie);
                }
            }
        }
    }