code: def _extract_vals(self, stream_items):
      vals = []
      for stream_item in stream_items:
          if stream_item.ended or stream_item.value is None:
              pass  # no values to add
          else:
              if utils.is_array_like(
                  stream_item.value, tuple_is_array=False
              ):
                  vals.extend(stream_item.value)
              else:
                  vals.append(stream_item.value)
      return vals
  
imports: import sys, time, threading, queue, functools
  from typing import Any
  from types import MethodType
  from abc import ABCMeta, abstractmethod
  from .lv_types import StreamVisInfo, StreamItem
  from .None import utils
  from .stream import Stream
label_desc: Use image node_id 8 for calling the VisBase obj's underlying member method code with example usage: obj._extract_vals(stream_items) and returns: vals