def METHOD_NAME(m, has_bypass=True):
    # build flowsheet
    property_models.build_prop(m, base="ion")
    pretrt_port = pretreatment_NF.build_pretreatment_NF(
        m, NF_type="ZO", NF_base="ion", has_bypass=has_bypass
    )
    property_models.build_prop(m, base="TDS")
    translator_block.build_tb(
        m, base_inlet="ion", base_outlet="TDS", name_str="tb_pretrt_to_desal"
    )
    # Arc to translator block
    m.fs.s_pretrt_tb = Arc(
        source=pretrt_port["out"], destination=m.fs.tb_pretrt_to_desal.inlet
    )
    property_models.build_prop(m, base="eNRTL")
    gypsum_saturation_index.build(m, section="pretreatment")
    m.fs.NF.area.fix(175)
    if has_bypass:
        m.fs.splitter.split_fraction[0, "bypass"].fix(0.50)
        m.fs.removal_Ca = Expression(
            expr=(
                m.fs.feed.properties[0].flow_mass_phase_comp["Liq", "Ca"]
                - m.fs.mixer.mixed_state[0].flow_mass_phase_comp["Liq", "Ca"]
            )
            / m.fs.feed.properties[0].flow_mass_phase_comp["Liq", "Ca"]
        )
        m.fs.removal_Mg = Expression(
            expr=(
                m.fs.feed.properties[0].flow_mass_phase_comp["Liq", "Mg"]
                - m.fs.mixer.mixed_state[0].flow_mass_phase_comp["Liq", "Mg"]
            )
            / m.fs.feed.properties[0].flow_mass_phase_comp["Liq", "Mg"]
        )