<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def sysmeta_add_preferred(sysmeta_pyxb, node_urn):
 """Add a remote Member Node to the list of preferred replication targets to this System Metadata object. Also remove the target MN from the list of blocked Member Nodes if present. If the target MN is already in the preferred list and not in the blocked list, this function is a no-op. Args: sysmeta_pyxb : SystemMetadata PyXB object. System Metadata in which to add the preferred replication target. If the System Metadata does not already have a Replication Policy, a default replication policy which enables replication is added and populated with the preferred replication target. node_urn : str Node URN of the remote MN that will be added. On the form ``urn:node:MyMemberNode``. """

    if not has_replication_policy(sysmeta_pyxb):
        sysmeta_set_default_rp(sysmeta_pyxb)
    rp_pyxb = sysmeta_pyxb.replicationPolicy
    _add_node(rp_pyxb, 'pref', node_urn)
    _remove_node(rp_pyxb, 'block', node_urn)