                 nibImageView = newValue
             } else {
                 IBLog.write("overridingImageView = nibImageView")
+                if let source = overridingImageView,
+                    let destination = nibImageView
+                {
+                    destination.copyNonDefaultProperties(from: source)
+                }
                 overridingImageView = nibImageView
-                overridingImageView?.image = super.imageView?.image
                 super.imageView?.image = nil
             }
             IBLog.write("imageView set, done", indent: -1)

        super.prepareForInterfaceBuilder()
        IBLog.write("overridingTextLabel: \(overridingTextLabel.shortDescription)")
        IBLog.write("super.textLabel: \(super.textLabel.shortDescription)")
        IBLog.write(contentView.recursiveDescription())
        IBLog.write("prepareForInterfaceBuilder() end", indent: -1)
    }
    

                overridingDetailTextLabel = nonNilLabel
            } else {
                IBLog.write("overridingDetailTextLabel = nibDetailTextLabel")
                if let source = overridingDetailTextLabel,
                    let destination = nibDetailTextLabel
                {
                    destination.copyNonDefaultProperties(from: source)
                }
                overridingDetailTextLabel?.text = nil
                overridingDetailTextLabel = nibDetailTextLabel
            }
