code: def join_fields(self, key, vals):
      if len(vals) == 1:
          return [BaseNode(f"@{key}:{vals[0].to_string()}")]
      if not vals[0].combinable:
          return [BaseNode(f"@{key}:{v.to_string()}") for v in vals]
      s = BaseNode(
          f"@{key}:({self.JOINSTR.join(v.to_string() for v in vals)})"
      )
      return [s]
  
label_desc: Use image node_id 2 for calling the Node obj's underlying member method code with example usage: obj.join_fields(key, vals) and returns: list, list, unknown