adding new site column is not working Field with name “xx” was not found
===

The scenario is that I am trying to add a new site column, I need to update the schema definition.
the 2nd time the update executes it says the field was not found, but its there, I can even see it on site columns after the feature activating crashes





   

    private void AddManagerField(SPWeb currentweb)
            {
                 try
                {
                    //Add new field to Site Columns
                    string managerFieldName = currentweb.Fields.Add(SponsoringCommon.Constants.FIELDS_SPONSORINGMANAGER_NAME, SPFieldType.User, false);
                    SPFieldUser managerField = currentweb.Fields.GetFieldByInternalName(managerFieldName) as SPFieldUser;
                    managerField.Group = SponsoringCommon.Constants.DEFAULT_TAXONOMY_TERMGROUP_NATIONALELOTERIJSPONSORING;
                    managerField.Update();
    
                    
                    SPFieldUser managerField2 = currentweb.Fields.GetFieldByInternalName(managerFieldName) as SPFieldUser;
                  
                    string schemaXmlWithResourceTokens = managerField2.SchemaXmlWithResourceTokens;
                    int startIndex = schemaXmlWithResourceTokens.IndexOf("\"", schemaXmlWithResourceTokens.IndexOf("DisplayName=\"")) + 1;
                    int endIndex = schemaXmlWithResourceTokens.IndexOf("\"", startIndex);
                    int substringLength = endIndex - startIndex;
                    string value = schemaXmlWithResourceTokens.Substring(startIndex, substringLength);
                    schemaXmlWithResourceTokens = schemaXmlWithResourceTokens.Replace(value, "$Resources:SPNLSponsoring,Field_SponsoringManager_Name");
                    managerField2.SchemaXml = schemaXmlWithResourceTokens;
                    managerField2.Update();
    
                    
                    SPContentTypeId dossierCTID = new SPContentTypeId(SponsoringCommon.Constants.CONTENTTYPES_DOSSIER_ID);
                    SPContentType dossierCT = currentweb.ContentTypes[dossierCTID];
                    SPFieldLink managerFieldLink = new SPFieldLink(managerField2);
                    dossierCT.FieldLinks.Add(managerFieldLink);
                    dossierCT.Update(true);
                }
                catch (Exception ex)
                {
                    Logger.LogError("error", "AddManagerField(SPWeb currentweb)", ex);
                    throw;
                }

            }

