@Override
	//takes in state and returns if that state is a valid successor state to the current state
	public void nextStates(Tree.Node node) {
		ArrayList<Integer> next = new ArrayList<Integer>();
		if(node.state.get(0) == 0) {
			if(node.state.get(1) == 0 && node.state.get(2) != 0 && node.state.get(3) != 0) {
				next = node.state;
				next.set(1, 1);
				next.set(0,1);
				tree.addChild(node, next);
			}
			if(node.state.get(2) == 0) {
				next = node.state;
				next.set(2, 1);
				next.set(0, 1);
				tree.addChild(node, next);
			}
			if(node.state.get(1) == 0 && node.state.get(2) != 0 && node.state.get(3) != 0) {
				next = node.state;
				next.set(1, 1);
				tree.addChild(node, next);
			}
		}
		else if(node.state.get(0) == 1) {
			
		}
		ArrayList<Integer> is = new ArrayList<Integer>();
		
		cost++;

	}