public static async Task <FdbSystemStatus> GetStatusAsync([NotNull] IFdbReadOnlyTransaction trans)
            {
                Contract.NotNull(trans, nameof(trans));

                Slice data = await trans.GetAsync(StatusJsonKey).ConfigureAwait(false);

                if (data.IsNullOrEmpty)
                {
                    return(null);
                }

                string jsonText = data.ToUnicode();

                var doc = TinyJsonParser.ParseObject(jsonText);

                if (doc == null)
                {
                    return(null);
                }

                long rv = 0;

                if (doc.ContainsKey("cluster"))
                {
                    rv = await trans.GetReadVersionAsync();
                }

                return(new FdbSystemStatus(doc, rv, jsonText));
            }
            public static async Task <FdbSystemStatus?> GetStatusAsync(IFdbReadOnlyTransaction trans)
            {
                Contract.NotNull(trans);

                var data = await trans.GetAsync(StatusJsonKey).ConfigureAwait(false);

                if (data.IsNullOrEmpty)
                {
                    return(null);
                }

                var doc = TinyJsonParser.ParseObject(data);

                if (doc == null)
                {
                    return(null);
                }

                long rv = 0;

                if (doc.ContainsKey("cluster"))
                {
                    rv = await trans.GetReadVersionAsync();
                }

                return(new FdbSystemStatus(doc, rv, data));
            }