@Override
  public Object execute(Op op) throws Exception {
    Object result;
    // Do not synchronize when used for GatewaySender
    // as the same connection is being used
    if ((op instanceof AbstractOp) && ((AbstractOp) op).isGatewaySenderOp()) {
      result = op.attempt(this);
      endpoint.updateLastExecute();
      return result;
    }
    synchronized (this) {
      result = op.attempt(this);
    }
    // Do not call endpoint.updateLastExecute here because it should have been
    // called on the final destination endpoint inside LiverServerPinger
    if (!(op instanceof PingOp.PingOpImpl)) {
      endpoint.updateLastExecute();
    }
    return result;

  }
Test hook to simulate a client crashing. If true, we will not notify the server when we close
the connection.
geode-core/src/main/java/org/apache/geode/cache/client/internal/ConnectionImpl.java