def build_node_children(current_module, current_node, requester)
      return unless current_module
      current_module.constants.each do |const_symbol|
        const = current_module.const_get(const_symbol)

        if const.class == Module
          # A module means that it's a branch
          # Build the branch out with a base endpoint
          branch_node = current_node._build_and_attach_node(
            Saddle::TraversalEndpoint,
            const_symbol.to_s.underscore
          )
          # Build out the branch's endpoints on the new branch node
          self.build_node_children(const, branch_node, requester)
        end

        if const < Saddle::TraversalEndpoint
          # A class means that it's a node
          # Build out this endpoint on the current node
          current_node._build_and_attach_node(const)
        end
      end
    end
def build_node_children(current_module, current_node, requester)
      return unless current_module
      current_module.constants.each do |const_symbol|
        const = current_module.const_get(const_symbol)

        if const.class == Module
          # A module means that it's a branch
          # Build the branch out with a base endpoint
          branch_node = current_node._build_and_attach_node(
            Saddle::TraversalEndpoint,
            const_symbol.to_s.underscore
          )
          # Build out the branch's endpoints on the new branch node
          self.build_node_children(const, branch_node, requester)
        end

        if const < Saddle::TraversalEndpoint
          # A class means that it's a node
          # Build out this endpoint on the current node
          current_node._build_and_attach_node(const)
        end
      end
    end
Build out the traversal tree by module namespace