Здравствуйте, Oval, Вы писали:
O>При клонировании объекта внешнего класса, если он содержит объекты внутренних классов эти объекты при клонировании ссылаются на старого предка внешнего класса.
O>Как сделать чтобы они ссылались на вновь созданный объект внешнего класса?
у внешнего класса перекрываешь clone()
а внутри клонируешь внутренний и переприсваеваешь необходимые ссылки руками, что-то типа
public Object clone() throws CloneNotSupportedException {
Parent result = (Parent) super.clone();
Child child = result.child.clone();
child.parent = result;
return result;
}