def METHOD_NAME(self, other):
    """
    The equals method.
    :param other: a different object
    :type other: object
    :return: True if equal, otherwise False.
    :rtype: bool
    """
    if not isinstance(other, ASTNestMLCompilationUnit):
        return False
    if len(self.get_neuron_list()) != len(other.get_neuron_list()):
        return False
    if len(self.get_synapse_list()) != len(other.get_synapse_list()):
        return False
    my_neurons = self.get_neuron_list()
    your_neurons = other.get_neuron_list()
    for i in range(0, len(my_neurons)):
        if not my_neurons[i].METHOD_NAME(your_neurons[i]):
            return False
    my_synapses = self.get_synapse_list()
    your_synapses = other.get_synapse_list()
    for i in range(0, len(my_synapses)):
        if not my_synapses[i].METHOD_NAME(your_synapses[i]):
            return False
    return True