> No, must keep the way it works. clone is init + fetch. If we remove fetch what is remaining? And I don't really understand why you want to condition fetch call...

Clone call after Fetch - InitBranch.Run() if withBranch = true. I thought it will fetch all branches?