sPFWFDMid/src/main/java/it/polimi/spf/wfd/groups/GroupOwnerActor.java
void onClientDisconnected(String identifier) throws InterruptedException {
        connectionSemaphore.acquire();
        NineBus.get().post(new GOConnectionEvent(GOConnectionEvent.DISCONNECTED, identifier));
        WfdLog.d(TAG, "Client lost id : " + identifier);
        GOInternalClient c = null;
        if (identifier != null) {
            c = goInternalClients.remove(identifier);
            if (c != null) {
                signalInstanceLossToGroup(identifier);
            }
        }
        connectionSemaphore.release();
        if (c != null) {
            c.recycle();
        }
    }
void onClientDisconnected(String identifier) throws InterruptedException {
        connectionSemaphore.acquire();
        NineBus.get().post(new GOConnectionEvent(GOConnectionEvent.DISCONNECTED, identifier));
        WfdLog.d(TAG, "Client lost id : " + identifier);
        GOInternalClient c = null;
        if (identifier != null) {
            c = goInternalClients.remove(identifier);
            if (c != null) {
                signalInstanceLossToGroup(identifier);
            }
        }
        connectionSemaphore.release();
        if (c != null) {
            c.recycle();
        }
    }
called from GoInternalClient