# File lib/tapkit/control/keyvaluecoding.rb, line 79
                def retrieve_value_for_keypath( keypath )
                        paths = keypath.split '.'
                        object = self
                        paths.each do |path|
                                if object.respond_to? :retrieve_value then
                                        object = object.retrieve_value path
                                elsif object.respond_to? path then
                                        object = object.__send__ path
                                elsif directly? object then
                                        object = object.instance_eval "@#{path}"
                                else
                                        _raise_error(object, path)
                                end
                        end
                        object
                end