lib/active_record_survey/node.rb
def validate_parent_instance_node(instance_node, child_node)
			!self.survey.node_maps.select { |i| i.node == self}.collect { |node_map|
				if node_map.parent
					node_map.parent.node.validate_parent_instance_node(instance_node, self)
				# Hit top node
				else
					true
				end
			}.include?(false)
		end
def validate_parent_instance_node(instance_node, child_node)
			!self.survey.node_maps.select { |i| i.node == self}.collect { |node_map|
				if node_map.parent
					node_map.parent.node.validate_parent_instance_node(instance_node, self)
				# Hit top node
				else
					true
				end
			}.include?(false)
		end
Default behaviour is to recurse up the chain (goal is to hit a question node)