private List<Location> getForwardMoves(List<Location> locations) {
		Location moveUpOnce = null;
		Location moveUpTwice = null;
		if (isWhite()) {
			moveUpOnce = chessBoard.getNorthNeighbor(getLocation());
			moveUpTwice = chessBoard.getLocation(getLocation(), 0, 2);
		} else {
			moveUpOnce = chessBoard.getSouthNeighbor(getLocation());
			moveUpTwice = chessBoard.getLocation(getLocation(), 0, -2);
		}

		if (moveUpOnce != null && checkAvailability(moveUpOnce) == UNOCCUPIED) {
			locations.add(moveUpOnce);
			if (!hasMovedAtAll && moveUpTwice != null
					&& checkAvailability(moveUpTwice) == UNOCCUPIED) {
				locations.add(moveUpTwice);
			}
		}

		return locations;
	}