[fishnet] i have a problem with persisting client game object on server after client disconnects

so to keep it short, i have this project am working on, that has an open world hub, players can connect and be able to spawn vehicles into the game world.
so the problem is when spawning these vehicles other players can ride beside you or in the same vehicle, maybe you caught onto the problem, when client disconnects fishnet destroys the client objects I want them to shift ownership instead of getting destroyed.
took me while of looking in the fishnet source code, i traced it to this function (IterateDespawn) in ObjectCaching.cs, i am not that versed in network code so i am not qualified enough to trace the problem further.
so i made it so that (IterateDespawn) is called by (Iterate()) function only for the first object which is a character model that is spawned to world first, but not for the vehicles by stopping the for loop after first iteration.
(i know this is not how you should do it) but i after looking in the forums for a better way to do it i cant seem to find an answer.
but it doesnt work whenever i try to interact with the vehicle using an rpc like riding or anything it gives me an error (Setting the parent of a transform which resides in a Prefab Asset) i think its caused by the server or the other observers losing reference of the network object or that it is actually removed from the network scene but not the local scenes (like i said i am a newbie when it comes to networking).
after looking for a while i found something that can be the solution where the answer was to give the nob a new scene id i am not sure how.
what i tried :
1- changing vehicles to global
2- changing destroy type of the nob to pool
3- trying to change ownership of the car to server (works only before owner client disconnects)
4- trying to change ownership to host (works only before owner client disconnects)

[Solved] my inexperience made me try to solve the problem from end to beginning, trying to stop the objects from being removed after they are despawned from the server, the actual function that starts the despawn proces is (clientdisconnected) in server objects.cs stopping the for loop stops items from being despawned on server