<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def generate_nodes(tpm, cm, network_state, indices, node_labels=None):
 """Generate |Node| objects for a subsystem. Args: tpm (np.ndarray):
 The system's TPM cm (np.ndarray):
 The corresponding CM. network_state (tuple):
 The state of the network. indices (tuple[int]):
 Indices to generate nodes for. Keyword Args: node_labels (|NodeLabels|):
 Textual labels for each node. Returns: tuple[Node]: The nodes of the system. """

    if node_labels is None:
        node_labels = NodeLabels(None, indices)

    node_state = utils.state_of(indices, network_state)

    return tuple(Node(tpm, cm, index, state, node_labels)
                 for index, state in zip(indices, node_state))