atribuição de objeto

Eu tenho um cenário como:

MyClass obj1 = new MyClass();
............//some operations on obj1;
MyClass obj2 = new MyClass();
obj2 = obj1;

Eu tenho o seguinte problema: se eu modificar algum parâmetro, ele será afetado nos dois objetos (pois ambos se referem ao mesmo local) - mas, quando eu modifico o parâmetro obj2, ele não deve modificar esse valor no obj1 (ou seja, significa que ambos não devem aponte para o mesmo local). Como eu posso fazer isso? Por favor me ajude. Não posso clonar aqui, pois a minha classe não está implementando o ICloneable e não posso modificar a minha classe. se eu clonar serializando e desserializando, será um clone Deep?

questionAnswers(7)

yourAnswerToTheQuestion