def METHOD_NAME(nw: NodeWrangler):
    # Code generated using version 2.4.3 of the node_transpiler
    group_input = nw.new_node(Nodes.GroupInput,
        expose_input=[('NodeSocketVector', 'length_rad1_rad2', (0.5, 0.18, 0.04)),
            ('NodeSocketVector', 'angles_deg', (0.0, -4.6, 0.0)),
            ('NodeSocketFloat', 'aspect', 0.46),
            ('NodeSocketFloat', 'fullness', 4.0)])
    simple_tube_v2 = nw.new_node(nodegroup_simple_tube_v2().name,
        input_kwargs={'length_rad1_rad2': group_input.outputs["length_rad1_rad2"], 'angles_deg': group_input.outputs["angles_deg"], 'aspect': group_input.outputs["aspect"], 'fullness': group_input.outputs["fullness"], 'Origin': (-0.07, 0.0, 0.0)})
    fishfin = nw.new_node(nodegroup_fish_fin().name,
        input_kwargs={'length_rad1_rad2': (0.34, 0.07, 0.11), 'aspect': 4.7})
    attach_part = nw.new_node(nodegroup_attach_part().name,
        input_kwargs={'Skin Mesh': simple_tube_v2.outputs["Geometry"], 'Skeleton Curve': simple_tube_v2.outputs["Skeleton Curve"], 'Geometry': fishfin.outputs["Geometry"], 'Length Fac': 0.775, 'Part Rot': (90.0, -20.7, 0.0)})
    fishfin_1 = nw.new_node(nodegroup_fish_fin().name,
        input_kwargs={'length_rad1_rad2': (0.34, 0.07, 0.11), 'aspect': 4.7})
    attach_part_1 = nw.new_node(nodegroup_attach_part().name,
        input_kwargs={'Skin Mesh': simple_tube_v2.outputs["Geometry"], 'Skeleton Curve': simple_tube_v2.outputs["Skeleton Curve"], 'Geometry': fishfin_1.outputs["Geometry"], 'Length Fac': 0.775, 'Part Rot': (90.0, 18.64, 0.0)})
    join_geometry = nw.new_node(Nodes.JoinGeometry,
        input_kwargs={'Geometry': [attach_part.outputs["Geometry"], simple_tube_v2.outputs["Geometry"], attach_part_1.outputs["Geometry"]]})
    group_output = nw.new_node(Nodes.GroupOutput,
        input_kwargs={'Geometry': join_geometry, 'Skeleton Curve': simple_tube_v2.outputs["Skeleton Curve"], 'Endpoint': simple_tube_v2.outputs["Endpoint"]})