public XYLocation locationAt(Direction direction)
{
if (direction.Equals(Direction.North))
{
return north();
}
if (direction.Equals(Direction.South))
{
return south();
}
if (direction.Equals(Direction.East))
{
return east();
}
if (direction.Equals(Direction.West))
{
return west();
}
else
{
throw new ApplicationException("Unknown direction " + direction);
}
}