public NodeId FindSuperType(ExpandedNodeId typeId)
{
if (NodeId.IsNull(typeId) || typeId.ServerIndex != 0)
{
return NodeId.Null;
}
NodeId localId = ExpandedNodeId.ToNodeId(typeId, m_namespaceUris);
if (localId == null)
{
return NodeId.Null;
}
lock (m_lock)
{
TypeInfo typeInfo = null;
if (!m_nodes.TryGetValue(localId, out typeInfo))
{
return NodeId.Null;
}
if (typeInfo.SuperType != null)
{
return typeInfo.SuperType.NodeId;
}
return NodeId.Null;
}
}