public function getValue(array|bool
$recursive = false
): string|int|float|bool|array|null
{ $item =
$this->data
[$this->position
][$this->key
];
if ($item instanceof Stub && Stub::TYPE_REF ===
$item->type && !
$item->position
) { $item =
$item->value;
} if (!
($item =
$this->
getStub($item)) instanceof Stub
) { return $item;
} if (Stub::TYPE_STRING ===
$item->type
) { return $item->value;
} $children =
$item->position ?
$this->data
[$item->position
] :
[];
foreach ($children as $k =>
$v) { if ($recursive && !
($v =
$this->
getStub($v)) instanceof Stub
) { continue;
}