First off, that's way too much code for this problem- I had to read all of it, when really, the entire problem is in your copyMethod(). You'd have better luck in the future if you boil your problem...