public void SetSelfSpell(ref SelfSpell selfSpell, Queue<Element> elements){
if (elements.Count == 0)
return;
Element element = elements.Dequeue ();
Logger.Trace(element._name);
if (!_nodes.ContainsKey (element))
return;
if (_nodes [element]._nodes == null) {
_nodes [element]= new SpellNode(element);
}
_nodes [element].SetSelfSpell (ref selfSpell,elements);
}