private void Place(PuzzlePiece piece, Coordinate coord) { piece.Coordinate = coord; workQueue.Enqueue(piece); placed[coord] = piece; }