@Override
	public Edge makeMove(Edge lastEdge, GameState gameState, Player player, Game game) {
		Edge move = null;
		
		do {                                       
                    Edge e = lastEdge;
                    
                    try{
                        if(!edgeInBounds(gameState, e)) {
                            return null;
                        }
                    			
                        if(gameState.containsEdge(e)) {
                            return null;
                        }

                    }catch(NullPointerException ex){
                        //System.out.println("Invalid Edge");
                        return null;
                    }
                    // All ok
                    move = e;
			
		} while(move == null);
		                
                //System.out.println("return move;");
		return move;
	}