public boolean isCycle(int startingVertex, int cycleLength, int currentVertex)
	{
		boolean validCycle = false;
		if(cycleLength > 2)
		{
			if(startingVertex == currentVertex) //Wrapped around back to the first node
			{
				return true;
			}
		}
		if(countConnections(currentVertex) != 2) //Less than two neighbors
		{
			validCycle = false;
		}
		else if(gameBoard.getMark(currentVertex) == VISITED_VERTEX) //Vertex is already added to the chain
		{
			validCycle = false;
		}
		else
		{
			if(startingVertex == -1)
			{
				startingVertex = currentVertex;
			}
			gameBoard.setMark(currentVertex, VISITED_VERTEX);
			cycleLength++;
			for(int neighbor = gameBoard.first(currentVertex); neighbor < gameBoard.vcount() && !validCycle; neighbor = gameBoard.next(currentVertex, neighbor))
			{
				validCycle = isCycle(startingVertex, cycleLength, neighbor);
			}
		}
		
		return validCycle;
	}