Need Some Help With Playermodels

So Iam trying to make an entity change your playermodel but once that entity has been taken off it reverts your playermodel back to what it was when the entity was used.
So far ive got everything done but the part where the entity reverts your playermodel back to what it was when you clicked the entity.
Anyone know how to do this :o?

Save the player/entity’s model in a variable before you change their player model with :GetModel(), then when the time is right revert their model back to the variable.

So Something like

function ENT:Use( activator, caller )

self:Remove()

if ( activator:IsPlayer() ) then  

OriginalModel=Ply:GetModel()

end

function ENT:OnRemove()
if CLIENT then
ply:SetModel( OriginalModel )