parameters: (self, other)
return_statement: return False
docstring: Does this Ref completely follow ``other`` Ref?
  
          :param other:
          :return bool:
docstring_summary: Does this Ref completely follow ``other`` Ref?
docstring_tokens: Does this Ref completely follow other Ref?
function: def follows(self, other) -> bool:
          """
          Does this Ref completely follow ``other`` Ref?
  
          :param other:
          :return bool:
          """
          assert isinstance(other, Ref)
          if not self.index_node == other.index_node:
              return False
  
          my_start = self.starting_ref()
          other_end = other.ending_ref()
  
          smallest_section_len = min([len(my_start.sections), len(other_end.sections)])
  
          # Bare book references never precede or follow
          if smallest_section_len == 0:
              return False
  
          # Compare all but last section
          for i in range(smallest_section_len - 1):
              if my_start.sections[i] > other_end.sections[i]:
                  return True
              if my_start.sections[i] < other_end.sections[i]:
                  return False
  
          # Compare last significant section
          if my_start.sections[smallest_section_len - 1] > other_end.sections[smallest_section_len - 1]:
              return True
  
          return False
function_tokens: def follows ( self , other ) -> bool : assert isinstance ( other , Ref ) if not self . index_node == other . index_node : return False my_start = self . starting_ref ( ) other_end = other . ending_ref ( ) smallest_section_len = min ( [ len ( my_start . sections ) , len ( other_end . sections ) ] ) # Bare book references never precede or follow if smallest_section_len == 0 : return False # Compare all but last section for i in range ( smallest_section_len - 1 ) : if my_start . sections [ i ] > other_end . sections [ i ] : return True if my_start . sections [ i ] < other_end . sections [ i ] : return False # Compare last significant section if my_start . sections [ smallest_section_len - 1 ] > other_end . sections [ smallest_section_len - 1 ] : return True return False