private NameSyntax RemoveGlobalAliasIfUnnecessary( SemanticModel semanticModel, NameSyntax nameSyntax, NamespaceDeclarationSyntax namespaceToAddTo) { var aliasQualifiedName = nameSyntax.DescendantNodesAndSelf() .OfType <AliasQualifiedNameSyntax>() .FirstOrDefault(); if (aliasQualifiedName != null) { var rightOfAliasName = aliasQualifiedName.Name.Identifier.ValueText; if (!ConflictsWithExistingMember(semanticModel, namespaceToAddTo, rightOfAliasName)) { // Strip off the alias. return(nameSyntax.ReplaceNode(aliasQualifiedName, aliasQualifiedName.Name)); } } return(nameSyntax); }