public Object clone() { Topic t; Set<Proposal> proposals = new HashSet<Proposal>(); t = new Topic(getTitle(), getDescription(), getCreationDate()); t.setId(getId()); t.setProject((Project) getProject().clone()); t.setUser((User) getUser().clone()); for (Proposal p : getProposals()) proposals.add((Proposal) p.clone()); t.setProposals(proposals); return t; }