code: def _check_segment_cohesion(self):
          
  
          if self.n_seg != len(self.segments):
              raise ValueError("Length of segments must match the 'n_seg' field")
  
          for i in range(n_seg):
              s = self.segments[i]
  
              # If segment 0 is a layout specification record, check that its file names are all == '~''
              if i == 0 and self.seg_len[0] == 0:
                  for file_name in s.file_name:
                      if file_name != '~':
                          raise ValueError("Layout specification records must have all file_names named '~'")
  
              # Sampling frequencies must all match the one in the master header
              if s.fs != self.fs:
                  raise ValueError("The 'fs' in each segment must match the overall record's 'fs'")
  
              # Check the signal length of the segment against the corresponding seg_len field
              if s.sig_len != self.seg_len[i]:
                  raise ValueError('The signal length of segment '+str(i)+' does not match the corresponding segment length')
  
              totalsig_len = totalsig_len + getattr(s, 'sig_len')
docs: Check the cohesion of the segments field with other fields used
          to write the record