Then we need to fix it, not leave it as broken. 

I think only reading the context field (it's already volatile) and doing a null check should be fine. Server side is already able to handle multiple destroy requests.

````java
public final void destroy() {
        ClientContext ctx = context;
        if (ctx == null) {
             return;
        }
        context = null;        
        onDestroy();
        ctx.removeProxy(this);
        ClientDestroyRequest request = new ClientDestroyRequest(objectName, getServiceName());
        try {
              ctx.getInvocationService().invokeOnRandomTarget(request).get();
        } catch (Exception e) {
            throw ExceptionUtil.rethrow(e);
        }
    }
````