anchor.diff:  
   //TODO: rewrite all comments to reflect current state of code
   
  +/* Flush when working
   // Next 3 values are 2x16bit little Endian values as one 32bit value.
  +const kItem32Bit = 0xfeff00e0;
   const kSequenceDelimitationItem32Bit = 0xfeffdde0;
  -const kItem32Bit = 0xfeff00e0;
   const kItemDelimitationItem32Bit = 0xfeff0de0;
  +*/
   
   /// The type of the different Value Field readers.  Each [VFReader]
   /// reads the Value Field for a particular Value Representation.
  
positive.code:     return e;
    }
  
    Element _makeElement(int eStart, int eLength, {bool isEVR: true}) {
      int endOfVF = eStart + eLength;
      if (endOfVF > endOfBD)
        log.error('$rmm endOfVR($endOfVF) is beyond the end of File: $path\n'
            '    start($eStart) + eLength($eLength) = $endOfVF > $endOfBD');
      var e = bd.buffer.asByteData(eStart, eLength);
      return makeElementFromByteData(e, isEVR);
    }
  
    Element _readIVR(int code) {
      bool isSequence() {
        int code = _peekTagCode();
        if (code == kItem || code == kSequenceDelimitationItem) {
          _skip(-4);
          return true;
        }
  
negative.code: 
    // There are four [Element]s that might have an Undefined Length value
    // (0xFFFFFFFF), [SQ], [OB], [OW], [UN]. If the length is the Undefined,
    // then it searches for the matching [kSequenceDelimitationItem32Bit] to
    // determine the length. Returns a [kUndefinedLength], which is used for
    // reading the value field of these [Element]s. Returns an [SQ] [Element].
  
    /// Reads an EVR or IVR Sequence. The _readElementMethod detects Sequences.
    Element _readSequence(int code, int headerLength, bool isEVR) {
      /// Returns [true] if the [kSequenceDelimitationItem32Bit] delimiter is found.
      bool checkForSequenceDelimiter() =>
          _checkForDelimiter(kSequenceDelimitationItem32Bit);
  
  