再帰的にする為にinsertメソッドの再形成