private BrowseElement Lookup(Session session, string itemId)
{
BrowseElement element = null;
lock (m_lock)
{
if (itemId == null)
{
itemId = String.Empty;
}
if (m_cache.TryGetValue(itemId, out element))
{
return element;
}
}
NodeId nodeId = m_mapper.GetRemoteNodeId(itemId);
element = CreateBrowseElement(session, nodeId);
if (element != null)
{
lock (m_lock)
{
m_cache[itemId] = element;
}
}
return element;
}