class_docstr: Add constructor and call signature to match suggest()
  
  Also, detect when on_node is handling a hyperparameter, and
  delegate that to an `on_node_hyperparameter` method. This method
  must be implemented by a derived class.
class_docstr_tok: ["Add","constructor","and","call","signature","to","match","suggest","(",")","Also",",","detect","when","on_node","is","handling","a","hyperparameter",",","and","delegate","that","to","an","`","on_node_hyperparameter","`","method",".","This","method","must","be","implemented","by","a","derived","class","."]
code: def on_node(self, memo, node):
      if node in self.label_by_node:
          label = self.label_by_node[node]
          return self.on_node_hyperparameter(memo, node, label)
      else:
          return ExprEvaluator.on_node(self, memo, node)
  
file_path: auptimizer/src/aup/Proposer/hyperopt/algobase.py
imports: from __future__ import print_function
  from builtins import object
  import copy
  from collections import deque
  import numpy
  from .None import pyll
  from .base import miscs_update_idxs_vals
label_desc: Use image node_id 3 for calling the SuggestAlgo obj's underlying member method code with example usage: obj.on_node(memo, node) and returns: self, ExprEvaluator