class LicenseClient extends AbstractClient {

    public LicenseClient(PDConfig config) {
        super(config);
    }

    @Override
    protected AbstractStub createStub() {
        return PDGrpc.newStub(channel);
    }

    @Override
    protected AbstractBlockingStub createBlockingStub() {
        return PDGrpc.newBlockingStub(channel);
    }

    public Pdpb.PutLicenseResponse putLicense(byte[] content) {<FILL_FUNCTION_BODY>}
}

        Pdpb.PutLicenseRequest request = Pdpb.PutLicenseRequest.newBuilder()
                                                               .setContent(
                                                                       ByteString.copyFrom(content))
                                                               .build();
        try {
            KVPair<Boolean, Pdpb.PutLicenseResponse> pair = concurrentBlockingUnaryCall(
                    PDGrpc.getPutLicenseMethod(), request,
                    (rs) -> rs.getHeader().getError().getType().equals(Pdpb.ErrorType.OK));
            if (pair.getKey()) {
                Pdpb.PutLicenseResponse.Builder builder = Pdpb.PutLicenseResponse.newBuilder();
                builder.setHeader(okHeader);
                return builder.build();
            } else {
                return pair.getValue();
            }
        } catch (Exception e) {
            e.printStackTrace();
            log.debug("put license with error:{} ", e);
            Pdpb.ResponseHeader rh =
                    newErrorHeader(Pdpb.ErrorType.LICENSE_ERROR_VALUE, e.getMessage());
            return Pdpb.PutLicenseResponse.newBuilder().setHeader(rh).build();
        }
    
<methods>public void close() ,public static org.apache.hugegraph.pd.grpc.Pdpb.ResponseHeader newErrorHeader(int, java.lang.String) <variables>protected ManagedChannel channel,private static final ConcurrentHashMap<java.lang.String,ManagedChannel> chs,protected final non-sealed org.apache.hugegraph.pd.client.PDConfig config,protected final non-sealed org.apache.hugegraph.pd.grpc.Pdpb.RequestHeader header,public static org.apache.hugegraph.pd.grpc.Pdpb.ResponseHeader okHeader,protected final non-sealed org.apache.hugegraph.pd.client.AbstractClientStubProxy stubProxy,protected volatile ConcurrentMap<java.lang.String,AbstractBlockingStub> stubs