static void fillChildren(Node node, int b1, int b2, LinkedList<Node> queue) {
		//FILL_B1
		if (node.waterB1 < b1) {
			queue.add(new Node(b1, node.waterB2, Action.FILL_B1, node));
		}
		
		//CLEAR_B1
		if (node.waterB1 > 0) {
			queue.add(new Node(0, node.waterB2, Action.CLEAR_B1, node));								
		}
		
		//FROM_B1_TO_B2
		if (node.waterB1 > 0 && node.waterB2 < b2) {
			int diff = Math.min(b2 - node.waterB2, node.waterB1);
			queue.add(new Node(node.waterB1 - diff, node.waterB2 + diff, Action.FROM_B1_TO_B2, node));												
		}				
		
		//FILL_B2
		if (node.waterB2 < b2) {
			queue.add(new Node(node.waterB1, b2, Action.FILL_B2, node));								
		}
		
		//CLEAR_B2
		if (node.waterB2 > 0) {
			queue.add(new Node(node.waterB1, 0, Action.CLEAR_B2, node));				
		}
		
		//FROM_B2_TO_B1
		if (node.waterB2 > 0 && node.waterB1 < b1) {
			int diff = Math.min(b1 - node.waterB1, node.waterB2);
			queue.add(new Node(node.waterB1 + diff, node.waterB2 - diff, Action.FROM_B2_TO_B1, node));									
		}
	}