@Override
    public synchronized Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
      try {
        return method.invoke(client, args);
      } catch (InvocationTargetException e) {
        throw e.getTargetException();
      }
    }
Creates a synchronized wrapper for any {@link IMetaStoreClient}. This may be used by
multi-threaded applications until we have fixed all reentrancy bugs.

@param client unsynchronized client
@return synchronized client
amoro-format-mixed/amoro-mixed-trino/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java