def METHOD_NAME(source=None, target=None, synape_model=None, synapse_label=None):
    r"""Return a `SynapseCollection` representing the connection identifiers.
    [[ In a single 'summary line', state what the function does ]]
    [[ All functions should have a docstring with at least a summary line ]]
    [[ Below summary line (separated by new line), there should be an extended
       summary section that should be used to clarify functionality.]]
    Any combination of `source`, `target`, `synapse_model` and
    `synapse_label` parameters is permitted.
    [[ Deprecation warnings should appear directly after the extended summary.
      It should state in what version the object was deprecated, when it will
      be removed and what recommend way obtains the same functionality]]
    .. deprecated:: 1.6.0
            `ndobj_old` will be removed in NumPy 2.0.0, it is replaced by
            `ndobj_new` because the latter works also with array subclasses.
    [[ For all headings ensure the underline --- is at least the length of the
    heading ]]
    Parameters
    ----------
    source : NodeCollection, optional
        Source node IDs, only connections from these
        pre-synaptic neurons are returned
    target : NodeCollection, optional
        Target node IDs, only connections to these
        postsynaptic neurons are returned
    synapse_model : str, optional
        Only connections with this synapse type are returned
    synapse_label : int, optional
        (non-negative) only connections with this synapse label are returned
    Returns
    -------
    SynapseCollection:
        Object representing the source-node_id, target-node_id, target-thread, synapse-id, port of connections, see
        :py:class:`.SynapseCollection` for more.
    Raises
    -------
    TypeError
    Notes
    -------
    Details on the connectivity. [[ Here details regarding the code or further
    explanations can be included. This section may include mathematical
    equations, written in LaTeX format. You can include references to relevant
    papers using the reStructuredText syntax. Do not include model formulas ]]
    The discrete-time Fourier time-convolution [1]_ property states that
    .. math::
         x(n) * y(n) \Leftrightarrow X(e^{j\omega } )Y(e^{j\omega } )
    The value of :math:`\omega` is larger than 5.
    [[ The See Also section should include 2 or 3 related functions. ]]
    See Also
    ---------
    func_a : Function a with its description.
    func_b, func_c
    References
    -----------
    [[ Note the format of the reference. No bold nor italics is used. Last name
       of author(s) followed by year, title in sentence case and full name of
       journal followed by volume and page range. Include the doi if
       applicable.]]
    .. [1] Bonewald LF. (2011). The amazing osteocyte. Journal of Bone and
           Mineral Research 26(2):229–238. DOI: 10.1002/jbmr.320.
    """
    # [[ in line comments should be used to explain why this code is here]]
    # This code was included because of bug Y when running X
    # Temporary, I HOPE HOPE HOPE
    if source is None and target is None:
        raise Error("'source' and 'target' both cannot be None")