public bool MoveNext()
        {
            switch (CurrentMember += 1)
            {
            case HeadersMembers.Accept:
                Current = new KeyValuePair <string, string>(nameof(Headers.Accept), Headers.Accept?.ToString());
                break;

            case HeadersMembers.ContentType:
                Current = new KeyValuePair <string, string>("Content-Type", Headers.ContentType?.ToString());
                break;

            case HeadersMembers.Source:
                Current = new KeyValuePair <string, string>(nameof(Headers.Source), Headers.Source);
                break;

            case HeadersMembers.Destination:
                Current = new KeyValuePair <string, string>(nameof(Headers.Destination), Headers.Destination);
                break;

            case HeadersMembers.Authorization:
                var value = Headers.Authorization == null ? null : "*******";
                Current = new KeyValuePair <string, string>(nameof(Headers.Authorization), value);
                break;

            case HeadersMembers.Origin:
                Current = new KeyValuePair <string, string>(nameof(Headers.Origin), Headers.Origin);
                break;

            default:
                if (!DictEnumerator.MoveNext())
                {
                    return(false);
                }
                Current = DictEnumerator.Current;
                return(true);
            }
            return(Current.Value != null || MoveNext());
        }
 public void Reset() => CurrentMember = HeadersMembers.nil;