Why can't I use 'reparentTo' to collision node?

This one works fine.

self.floor = CollisionNode('floor')
self.cp_floor = CollisionPolygon(Point3(0, 0, 0), Point3(1, 0, 0), Point3(1, 1, 0), Point3(0, 1, 0))
self.floor.addSolid(self.cp_floor)
self.floor = render.attachNewNode(self.floor)

but why is this one not working?

self.floor = CollisionNode('floor')
self.cp_floor = CollisionPolygon(Point3(0, 0, 0), Point3(1, 0, 0), Point3(1, 1, 0), Point3(0, 1, 0))
self.floor.addSolid(self.cp_floor)
self.floor.reparentTo(render)

reparentTo - method of NodePath, it accept NodePath as parameter and return None
attachNewNode - method of NodePath, it accept Node as parameter and return NodePath.

in your case floor is Node