private function recursiveDump(&$value, $name): void
  {
    switch (true)
    {
      case is_null($value):
        $this->dumpNull($value, $name);
        break;

      case is_bool($value):
        $this->dumpBool($value, $name);
        break;

      case is_float($value):
        $this->dumpFloat($value, $name);
        break;

      case is_int($value):
        $this->dumpInt($value, $name);
        break;

      case is_string($value):
        if (is_string($name) && stripos($name, 'password')!==false)
        {
          // Do not dump the value of a variable/key with a name tha contains 'password'.
          $tmp = str_repeat('*', 12);
          $this->dumpString($tmp, $name);
        }
        else
        {
          $this->dumpString($value, $name);
        }
        break;

      case is_object($value):
        $this->dumpObject($value, $name);
        break;

      case is_array($value):
        $this->dumpArray($value, $name);
        break;

      case is_resource($value):
        $this->dumpResource($value, $name);
        break;

      default:
        throw new FallenException('type', gettype($value));
    }
  }