public void WriteEntry([NotNull] DesireEntry entry, [NotNull] HouseholdKey householdKey)
 {
     if (!_writeDesiresHeader.ContainsKey(GetKey(entry, householdKey)))
     {
         _desireFiles.Add(GetKey(entry, householdKey),
                          _fft.MakeFile <StreamWriter>("Desires." + householdKey + "." + entry.PersonName + ".csv",
                                                       "Desire values for " + entry.PersonName + " for household #" + householdKey, true,
                                                       ResultFileID.DesireFiles, householdKey, TargetDirectory.Reports,
                                                       _calcParameters.InternalStepsize, CalcOption.DesiresLogfile, null, entry.CPerson.MakePersonInformation()));
         var header = _dsc.GenerateDateStampHeader();
         _desireFiles[GetKey(entry, householdKey)].Write(header + "Person");
         _desireFiles[GetKey(entry, householdKey)].WriteLine(entry.GenerateHeader());
         _writeDesiresHeader.Add(GetKey(entry, householdKey), true);
     }
     if (!entry.Timestep.DisplayThisStep)
     {
         return;
     }
     _desireFiles[GetKey(entry, householdKey)].WriteLine(entry.ToString());
 }
 private static string GetKey([NotNull] DesireEntry e, [NotNull] HouseholdKey householdKey) => householdKey + "###" + e.PersonName;