I am a bit confused about the uniqueness of Browsenames in an addressspace.
As far as I understood the specs now, uniqueness is required in case of Properties. (In case of typedefinition it is just recommended).
Are there other contexts where the Browsename has to be unique?
OPC UA is a full mesh network with overlapping hierarchies which means the BrowseName cannot be assumed to be unique.
The exceptions are:
1) Properties. All targets of HasProperty reference from any Node must have unique BrowseNames.
2) TypeDefinitions: All targets of hierarchical references from an ObjectType or VariableType must have unique names.
3) InstanceDeclarations: All targets of hierarchical references from an Object, Variable or Method InstanceDeclaration must have unique names.