private string MapUserIdentity( FieldMap fieldMap, SourceSideTypeEnum fromSide, string srcFieldRefName, string tgtFieldRefName, string srcFieldValue) { RichIdentity srcUserId = new RichIdentity(); UserIdFieldElement userIdField = fieldMap.GetUserIdField(fromSide, srcFieldRefName); srcUserId[userIdField.UserIdPropertyName] = srcFieldValue; RichIdentity mappedUserId; if (UserIdLookupService.TryLookup(srcUserId, m_contexts[fromSide], out mappedUserId)) { SourceSideTypeEnum toSide = (fromSide == SourceSideTypeEnum.Left) ? SourceSideTypeEnum.Right : SourceSideTypeEnum.Left; UserIdFieldElement tgtUserField = fieldMap.GetUserIdField(toSide, tgtFieldRefName); if (null != tgtUserField) { return(mappedUserId[tgtUserField.UserIdPropertyName]); } else { return(srcFieldValue); } } else { return(srcFieldValue); } }