public async Task <IEnumerable <FileDescriptor> > GetFileDescriptorsAsync(IChainContext chainContext, Address address) { IExecutive executive = null; IEnumerable <FileDescriptor> output; try { executive = await _smartContractExecutiveService.GetExecutiveAsync( chainContext, address); output = executive.GetFileDescriptors(); } finally { if (executive != null) { await _smartContractExecutiveService.PutExecutiveAsync(chainContext, address, executive); } } return(output); }