anchor.diff:          DataItem.Y1:= iLine-1;
           DataItem.X2:= 0;
           DataItem.Y2:= iLine;
  -        DataItem.Level:= GetLevel(S[1]);
  +        DataItem.Level:= GetLevel(NewHeaderChar, PrevHeaderChar);
           DataItem.Title:= St.Lines[iLine-1];
           DataItem.Icon:= -1;
           Data.Add(DataItem)
  
positive.code:     if S='' then Continue;
      if IsHeaderLine(S) then
      begin
        NLen:= St.LinesLen[iLine-1];
        if (NLen>0) and (NLen<=Length(S)) then
        begin
  
negative.code: end;
  
  class function TTreeHelperRest.IsHeaderLine(const S: UnicodeString): boolean;
  var
    i: integer;
  begin
    for i:= 1 to Length(cHeaderChars) do
      if IsHeaderOfChar(S, cHeaderChars[i]) then
        exit(true);
    Result:= false;
  end;
  
  class function TTreeHelperRest.GetLevel(NewChar, PrevChar: WideChar): integer;
  begin
    case NewChar of
      '=': Result:= 1;
      '-': Result:= 2;
      '~': Result:= 3;
  