var i = this.root;
while (Boolean(i = i.next))
{
var j = this.root;
while (Boolean(j = j.next))
{
if (j.next != null)
{
if (fn.call(this, j))
{
var Key = j.Key;
var Value = j.Value;
j.Key = j.next.Key;
j.Value = j.next.Value;
j.next.Key = Key;
j.next.Value = Value;
}
}
}
this.end = i;
}
}
else
{
}
}
};