anchor.diff:    tileX, tiley: Integer;
     fileName: string;
     stream: TStream;
  -  //s: AnsiString;
     time: string;
     timeStamp: TDateTime;
   begin
  
positive.code:   inherited;
  end;
  
  function TDiffSlice.GenerateTile(const aExtent: TExtent; var aStream: TStream; aWidthPixels, aHeightPixels: Integer; const aFileName,
    aCacheFolder: string; aThreadPool: TMyThreadPool): Integer;
  var
    bitmapFileName: string;
    fileStream: TStream;
    bitmap: FMX.Graphics.TBitmap;
    status: TGenerateTileStatus;
  
  begin
    Result := HSC_ERROR_NOT_FOUND; // sentinel
    status  := gtsRestart; // sentinel
    repeat
      // pre calc phase, potentially write lock of tile -> only when not avoidable
      if fCurrentSlice.doGenerateTilePreCalc then
  
negative.code:         globalModelAndLayersLock.EndRead;
        end;
        if Assigned(layer) and Assigned(layer.DataEvent)
        then Result := layer.GenerateTile(aTimeStamp, aExtent, aStream, aWidthPixels, aHeightPixels, aFileName, fCacheFolder, fThreadPool)
        else
        begin
          Log.WriteLn('Layer id '+aLayerID.ToString+' not found to generate tile from', llWarning);
  