def METHOD_NAME(
    component: ComponentSpec,
    cross_section: CrossSectionSpec = "strip",
    port1: str = "o1",
    port2: str = "o2",
    straight_length: float | None = None,
    **kwargs,
) -> ComponentSpec:
    """Returns double straight.
    Args:
        component: for cutback.
        cross_section: specification (CrossSection, string or dict).
        port1: name of first optical port.
        port2: name of second optical port.
        straight_length: length of straight.
        kwargs: cross_section settings.
    """
    xs = gf.get_cross_section(cross_section, **kwargs)
    METHOD_NAME = gf.Component()
    straight_component = straight(
        length=straight_length or xs.radius * 2, cross_section=xs
    )
    straight_component2 = straight(
        length=straight_length or xs.radius * 2, cross_section=xs
    )
    straight_r = METHOD_NAME << straight_component
    straight_r2 = METHOD_NAME << straight_component2.mirror((1, 0))
    straight_r2 = straight_r2.move(
        origin=(0, 0),
        destination=(0, -component.ports[port1].y + component.ports[port2].y),
    )
    METHOD_NAME.add_port("o1", port=straight_r.ports["o1"])
    METHOD_NAME.add_port("o2", port=straight_r2.ports["o1"])
    METHOD_NAME.add_port("o3", port=straight_r2.ports["o2"])
    METHOD_NAME.add_port("o4", port=straight_r.ports["o2"])
    return METHOD_NAME