Вы могли бы интересоваться представлением Joshua Bloch, "Как Разработать Хороший API и Почему оно Вопросы". Joshua Bloch является автором "Эффективного Java" и Основным Разработчиком программного обеспечения и Главным Архитектором Java в Google.
Краткий обзор: http://portal.acm.org/citation.cfm?id=1176622
Чистый способ и, как правило, единственный применимый, - это создать новый объект с новым родительским элементом и всем остальным скопированным, а также удалить старый. Родители становятся частью ключа сущности, поэтому "изменить" это определенно НЕ тривиально, за исключением такого подхода!