private void WeMustGoDeeper(string dWithDepth)
{
var d = dWithDepth.Split('-')[0];
_probe.Tell(dWithDepth);
int currentDepth;
if (!_currentDepths.TryGetValue(d, out currentDepth)) currentDepth = 1;
if (currentDepth < _maxDepth)
{
_currentDepths[d] = currentDepth + 1;
Persist(d + "-" + _currentDepths[d], WeMustGoDeeper);
}
else
{
// reset depth counter before next command
_currentDepths[d] = 1;
}
}