# File lib/mail/parsers/rfc2822_obsolete.rb, line 1725
    def _nt_obs_fields
      start_index = index
      if node_cache[:obs_fields].has_key?(index)
        cached = node_cache[:obs_fields][index]
        if cached
          cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
          @index = cached.interval.end
        end
        return cached
      end

      s0, i0 = [], index
      loop do
        i1 = index
        r2 = _nt_obs_return
        if r2
          r1 = r2
        else
          r3 = _nt_obs_received
          if r3
            r1 = r3
          else
            r4 = _nt_obs_orig_date
            if r4
              r1 = r4
            else
              r5 = _nt_obs_from
              if r5
                r1 = r5
              else
                r6 = _nt_obs_sender
                if r6
                  r1 = r6
                else
                  r7 = _nt_obs_reply_to
                  if r7
                    r1 = r7
                  else
                    r8 = _nt_obs_to
                    if r8
                      r1 = r8
                    else
                      r9 = _nt_obs_cc
                      if r9
                        r1 = r9
                      else
                        r10 = _nt_obs_bcc
                        if r10
                          r1 = r10
                        else
                          r11 = _nt_obs_message_id
                          if r11
                            r1 = r11
                          else
                            r12 = _nt_obs_in_reply_to
                            if r12
                              r1 = r12
                            else
                              r13 = _nt_obs_references
                              if r13
                                r1 = r13
                              else
                                r14 = _nt_obs_subject
                                if r14
                                  r1 = r14
                                else
                                  r15 = _nt_obs_comments
                                  if r15
                                    r1 = r15
                                  else
                                    r16 = _nt_obs_keywords
                                    if r16
                                      r1 = r16
                                    else
                                      r17 = _nt_obs_resent_date
                                      if r17
                                        r1 = r17
                                      else
                                        r18 = _nt_obs_resent_from
                                        if r18
                                          r1 = r18
                                        else
                                          r19 = _nt_obs_resent_send
                                          if r19
                                            r1 = r19
                                          else
                                            r20 = _nt_obs_resent_rply
                                            if r20
                                              r1 = r20
                                            else
                                              r21 = _nt_obs_resent_to
                                              if r21
                                                r1 = r21
                                              else
                                                r22 = _nt_obs_resent_cc
                                                if r22
                                                  r1 = r22
                                                else
                                                  r23 = _nt_obs_resent_bcc
                                                  if r23
                                                    r1 = r23
                                                  else
                                                    r24 = _nt_obs_resent_mid
                                                    if r24
                                                      r1 = r24
                                                    else
                                                      r25 = _nt_obs_optional
                                                      if r25
                                                        r1 = r25
                                                      else
                                                        @index = i1
                                                        r1 = nil
                                                      end
                                                    end
                                                  end
                                                end
                                              end
                                            end
                                          end
                                        end
                                      end
                                    end
                                  end
                                end
                              end
                            end
                          end
                        end
                      end
                    end
                  end
                end
              end
            end
          end
        end
        if r1
          s0 << r1
        else
          break
        end
      end
      r0 = instantiate_node(SyntaxNode,input, i0...index, s0)

      node_cache[:obs_fields][start_index] = r0

      r0
    end