public HolderDownPayment(HolderDownPayment other)
 {
     have_data = other.haveData();
     data      = other.referenced();
     if (have_data)
     {
     }
 }
 protected override void handle_result(TypeDownPayment result)
 {
     //@@@        Debug.Assert(!have_value);
     have_value = true;
     value      = new HolderDownPayment(result);
 }