showproperties has some partner functions too - getproperty, setproperty, isproperty and hasproperty.
So you can say, theprops = getpropnames obj, then iterate over that array of names for your source object, store the properties and their values in arrays - then do the same for the target and check if isproperty obj #theropertyname then reapply the value to it, bada-bing.
Hope that mini wall of text helps.
