class TransportAction extends TransportSingleShardAction<Request, AcknowledgedResponse> {

        private static final Logger LOGGER = LogManager.getLogger(TransportAction.class);

        private final PublisherRestoreService publisherRestoreService;

        @Inject
        public TransportAction(ThreadPool threadPool,
                               ClusterService clusterService,
                               TransportService transportService,
                               PublisherRestoreService publisherRestoreService) {
            super(
                NAME,
                threadPool,
                clusterService,
                transportService,
                Request::new,
                ThreadPool.Names.GET
            );
            this.publisherRestoreService = publisherRestoreService;
            TransportActionProxy.registerProxyAction(
                transportService,
                NAME,
                AcknowledgedResponse::new
            );
        }

        @Override
        protected AcknowledgedResponse shardOperation(Request request,
                                                      ShardId shardId) throws IOException {<FILL_FUNCTION_BODY>}

        @Override
        protected Writeable.Reader<AcknowledgedResponse> getResponseReader() {
            return AcknowledgedResponse::new;
        }

        @Override
        protected boolean resolveIndex(Request request) {
            return true;
        }

        @Nullable
        @Override
        protected ShardsIterator shards(ClusterState state,
                                        InternalRequest request) {
            return state.routingTable().shardRoutingTable(request.request().shardId()).primaryShardIt();
        }
    }

            if (LOGGER.isDebugEnabled()) {
                LOGGER.debug("Releasing resources for {} with restore-id as {}", shardId, request.restoreUUID());
            }
            publisherRestoreService.removeRestoreContext(request.restoreUUID());
            return new AcknowledgedResponse(true);
        
<methods>public void <init>(java.lang.String) ,public boolean equals(java.lang.Object) ,public Reader<org.elasticsearch.action.support.master.AcknowledgedResponse> getResponseReader() ,public int hashCode() ,public java.lang.String name() ,public org.elasticsearch.transport.TransportRequestOptions transportOptions(org.elasticsearch.common.settings.Settings) <variables>private final non-sealed java.lang.String name