static internal async Task setACL <T>(OpenChainSession ad, String assetPath, T acl) where T : class
        {
            var assetACL = await ad.GetData <T>(assetPath, "acl");

            assetACL.Value = acl;
            await ad.SetData(assetACL);
        }
        static async Task updateLedgerInfo(OpenChainSession ad, Models.OCCommunityInfo community)
        {
            var ir = await ad.GetData <LedgerInfo>("/", "info");

            ir.Value = new LedgerInfo {
                Name = community.full_name, TermsOfService = community.description
            };
            await ad.SetData(ir);
        }
        static async Task <T> getACL <T>(OpenChainSession ad, String assetPath, T format) where T : class
        {
            var assetACL = await ad.GetData <T>(assetPath, "acl");

            return(assetACL.Value);
        }