class CompanionProxyShard implements Closeable {

    public void dump(@NonNull final IndentingPrintWriter ipw) {
        ipw.printf("Companion proxy [ %s ] %s", mCompanionDevice, mCompanionDevice.getName());
        ipw.println();
        ipw.increaseIndent();
        ipw.printPair("isClosed", mIsClosed);
        ipw.printPair("Start attempts", mStartAttempts);
        ipw.printPair("Start connection scheduled", mHandler.hasMessages(WHAT_START_SYSPROXY));
        ipw.printPair("Instance", mInstance);
        ipw.printPair("networkTypeName", ConnectivityManager.getNetworkTypeName(mNetworkType));
        ipw.printPair("isMetered", mIsMetered);
        ipw.printPair("isSysproxyConnected", mIsSysproxyConnected);
        ipw.println();
        mProxyServiceHelper.dump(ipw);
        ipw.decreaseIndent();
    }

    public  CompanionProxyShard(
            @NonNull final Context context,
            @NonNull final ProxyServiceHelper proxyServiceHelper,
            @NonNull final BluetoothDevice companionDevice,
            @NonNull final Listener listener,
            final int networkScore);

}