impl: SwapObj