anchor.diff:                  list_to_tuple([?CSV_RECORD_NAME|binary:split(F, [<<"\t">>],[global])])
                   end || R <- Lines],
               if 
  -                length(NewRows) < RowCount -> read_blocks(Io, NewPos, RowCount, NewRows);
  +                length(NewRows) < RowCount -> read_blocks(Io, NewPos, BlockSize, RowCount, NewRows);
                   length(NewRows) > RowCount -> 
                       RemovedRows = lists:sublist(NewRows, RowCount + 1, length(NewRows)),
                       RemovedDataSize = lists:foldl(fun(A, Acc) ->
  
positive.code:                 case Contd0 of
                          undefined ->
                              % ?Info("[~p] got MatchSpec ~p for ~p limit ~p~n", [Pid,MatchSpec,FileName,BlockSize]),
                              case select({Schema,UnquotedFN}, MatchSpec, BlockSize, RowCount, read) of
                                  '$end_of_table' ->
                                      % ?Info("[~p] got empty table~n", [Pid]),
                                      Pid ! {row, [?sot,?eot]};
  
negative.code: 
  column_names({CsvSchema,FileName}) ->
      UnquotedFN = imem_datatype:strip_dquotes(FileName),
      case select({CsvSchema,UnquotedFN}, [], 100, read) of
          '$end_of_table' ->  [<<"col1">>];
           {Rows, _} ->       first_longest_line(Rows,[])
      end.
  