code: private void addDataNode(DiffEntry change) {
      if (checkFilePath(change.getNewPath(), NODE_FILE_DEPTH)) {
        Path nodeFilePath = new Path(this.repositoryDir, change.getNewPath());
        try {
          Config config = loadNodeFileWithOverrides(nodeFilePath);
          Class dataNodeClass = Class.forName(ConfigUtils.getString(config, FlowGraphConfigurationKeys.DATA_NODE_CLASS,
              FlowGraphConfigurationKeys.DEFAULT_DATA_NODE_CLASS));
          DataNode dataNode = (DataNode) GobblinConstructorUtils.invokeLongestConstructor(dataNodeClass, config);
          if (!this.flowGraph.addDataNode(dataNode)) {
            log.warn("Could not add DataNode {} to FlowGraph; skipping", dataNode.getId());
          } else {
            log.info("Added Datanode {} to FlowGraph", dataNode.getId());
          }
        } catch (Exception e) {
          log.warn("Could not add DataNode defined in {} due to exception {}", change.getNewPath(), e.getMessage());
        }
      }
    }
docs: Add a {@link DataNode} to the {@link FlowGraph}. The method uses the {@link FlowGraphConfigurationKeys#DATA_NODE_CLASS} config
  to instantiate a {@link DataNode} from the node config file.
  @param change