code: def fit(
      self,
      ctx: Context,
      train_data: DataFrame,
      grad_and_hess: DataFrame,
      encryptor,
  ):
      raise NotImplementedError(
          "This method should be implemented by subclass"
      )
  
imports: import numpy
  import pandas
  from fate.arch import Context
  from fate.arch.dataframe import DataFrame
  from fate.ml.ensemble.learner.decision_tree.tree_core.splitter import SplitInfo
  from typing import List
  import logging
label_desc: Use image node_id 14 for calling the DecisionTree obj's underlying member method code with example usage: obj.fit(ctx, train_data, grad_and_hess, encryptor) without return types