function IdentityForm(&$Context, &$UserManager, &$User)
 {
     $this->Name = 'IdentityForm';
     $this->ValidActions = array('ProcessIdentity', 'Identity');
     $this->Constructor($Context);
     if ($this->IsPostBack) {
         $this->UserManager =& $UserManager;
         $this->User = clone $User;
         if ($this->PostBackAction == 'ProcessIdentity' && $this->IsValidFormPostBack()) {
             $this->User->Clear();
             $this->User->GetPropertiesFromForm();
             $this->User->Preferences = $User->Preferences;
             $this->CallDelegate('PreSaveIdentity');
             if ($this->UserManager->SaveIdentity($this->User) && $this->UserManager->SaveUserCustomizationsFromForm($this->User)) {
                 $Url = GetUrl($this->Context->Configuration, $this->Context->SelfUrl, '', 'u', $this->Context->Session->UserID == 0 ? '' : $this->User->UserID, '', 'Success=1');
                 //@todo: should the process die here
                 Redirect($Url, '302', '', 0);
             }
         }
     }
     $this->CallDelegate('Constructor');
 }