code: func (iter *Iterator) ReportError(operation string, msg string) {
  	if iter.Error != nil {
  		if iter.Error != io.EOF {
  			return
  		}
  	}
  	peekStart := iter.head - 10
  	if peekStart < 0 {
  		peekStart = 0
  	}
  	peekEnd := iter.head + 10
  	if peekEnd > iter.tail {
  		peekEnd = iter.tail
  	}
  	parsing := string(iter.buf[peekStart:peekEnd])
  	contextStart := iter.head - 50
  	if contextStart < 0 {
  		contextStart = 0
  	}
  	contextEnd := iter.head + 50
  	if contextEnd > iter.tail {
  		contextEnd = iter.tail
  	}
  	context := string(iter.buf[contextStart:contextEnd])
  	iter.Error = fmt.Errorf("%s: %s, error found in #%v byte of ...|%s|..., bigger context ...|%s|...",
  		operation, msg, iter.head-peekStart, parsing, context)
  }
docs: // ReportError record a error in iterator instance with current position.