#fixed code
                              @Override
  public void handleChildChange(String parentPath, List<String> currentChilds) {
    if (_zkClientForRoutingDataListener == null || _zkClientForRoutingDataListener.isClosed()) {
      return;
    }
    // Resubscribe
    _zkClientForRoutingDataListener.unsubscribeAll();
    _zkClientForRoutingDataListener.subscribeRoutingDataChanges(this, this);
    resetZkResources();
  }
#vulnerable code 
                              @Override
  public void handleChildChange(String parentPath, List<String> currentChilds) {
    if (_zkClientForListener == null || _zkClientForListener.isClosed()) {
      return;
    }
    // Resubscribe
    _zkClientForListener.unsubscribeAll();
    _zkClientForListener.subscribeRoutingDataChanges(this, this);
    resetZkResources();
  } 
                            #location 8 
                            #vulnerability type THREAD_SAFETY_VIOLATION