i'm using Asp.net With Nhibernate 
I want to duplicate complex object with all references  
 
This is the Model:
public class X : AuditableVersionPersistentObject{  
private ISet _clauses = new HashSet();
private ISet _documentLinks = new HashSet();
private long? _EtudiantNumber;
private ApplicationUser _applicationUser;
private Offer _Offer;
private Person.Person _etudiantHolder;
private Person.Person _etudiantPayer;
... }
 
This Is the Function copy :
public virtual Etudiant CopyEtudiant()
{
Etudiant etudiant= new Etudiant (0, 0);
 
etudiant.EtudiantNumber= EtudiantNumber;
....