     return @
 
   _bindChild:(rule, child)->
-    for childRule in child.handlers
+    childHandlers = child.handlers.concat()
+    for childRule in childHandlers
       childRule.update(rule)
-    @.handlers = child.handlers.concat @.handlers
+    #うーん
+    # @._groups.push new InternalGroup(rule, child.handlers)
+    @.handlers = childHandlers.concat @.handlers
+
+    childBefores = child.beforeHandlers.concat()
+    for childBefore in childBefores
+      childBefore.update(rule)
+    @.beforeHandlers = childBefores.concat @.beforeHandlers
 
 
   #ルールを後から追加する

  update:(path)=>
    @.rule = path + @.rule
    @._regexp = @_ruleToRegExp(@.rule)

    re = new RegExp(namedParam)
    matched = path.match(re)
    if matched isnt null

      if isBefore
        callback = @_bindFunctions(name)
      else if name instanceof Kazitori
        @_bindChild(rule, name)
        return @
      else if typeof name is "function"
