private void drawEntitiesToScreen(Graphics2D graphics)
	{
		for (int i = 0; i < getSnakes().size(); i++)
		{
			Color c = getColorForSnake(i);
			graphics.setColor(c);

			Snake e = getSnakes().get(i);
			boolean isPhased = e.isPhased();
			LinkedList<SnakePiece> pieces = e.getSnakePieces();

			for (SnakePiece piece : pieces)
			{
				if (e.getHead() == piece && isPhased)
				{
					graphics.setColor(Color.blue);
					graphics.fillRect(getShiftedXCoordForPiece(piece), getShiftedYCoordForPiece(piece), getPaintSize(),
						getPaintSize());
					graphics.setColor(c);
				}
				else
				{
					graphics.fillRect(getShiftedXCoordForPiece(piece), getShiftedYCoordForPiece(piece), getPaintSize(),
						getPaintSize());
				}
			}
		}

		for (Piece e : looseSnakePieces)
		{
			graphics.setColor(Color.RED);
			graphics.fillRect(getShiftedXCoordForPiece(e), getShiftedYCoordForPiece(e), getPaintSize(), getPaintSize());
		}

		for (Boost boost : getBooster())
		{
			Piece e = (Piece) boost;
			graphics.setColor(boost.getColor());
			graphics.fillRect(getShiftedXCoordForPiece(e), getShiftedYCoordForPiece(e), getPaintSize(), getPaintSize());
		}

		for (WorldChanger worldChanger : getWorldChangers())
		{
			Piece e = (Piece) worldChanger;
			graphics.setColor(worldChanger.getColor());
			graphics.fillRect(getShiftedXCoordForPiece(e), getShiftedYCoordForPiece(e), getPaintSize(), getPaintSize());
		}
	}