public async Task <byte[]> GetFileDescriptorSetAsync(IChainContext chainContext, Address address) { IExecutive executive = null; byte[] output; try { executive = await _smartContractExecutiveService.GetExecutiveAsync( chainContext, address); output = executive.GetFileDescriptorSet(); } finally { if (executive != null) { await _smartContractExecutiveService.PutExecutiveAsync(chainContext, address, executive); } } return(output); }