public void Grow(Direction direction, int length = 1)
{
for (var i = 0; i < length; i++)
{
if (Body.First == null && Tail == null) continue;
if (Body.First == null && Head == null)
{
Head = Directed.ToDirection(Tail, direction);
continue;
}
if (Head != null)
{
Body.AddFirst(Head);
}
Head = Directed.ToDirection(Body.First.Value, direction);
}
}