code: public static KeeperException create(Code code, String path) {
          KeeperException r = create(code);
          r.path = path;
          return r;
      }
docs: All non-specific keeper exceptions should be constructed via this factory
  method in order to guarantee consistency in error codes and such. If you
  know the error code, then you should construct the special purpose
  exception directly. That will allow you to have the most specific
  possible declarations of what exceptions might actually be thrown.
  
  @param code
  The error code.
  @param path
  The ZooKeeper path being operated on.
  @return The specialized exception, presumably to be thrown by the caller.