The original version first copies the data over to a temporary variable and I, was finding the 'if' statements in the original version a bit lousy.
The proposed version copies everything directly to the clone which eliminates the temporary variable and avoids lousy 'if's.