code: def extract(
      self,
      first: filterlib.Filter,
      /,
      *filters: filterlib.Filter,
  ) -> tp.Union["State", tp.Tuple["State", ...]]:
      *states, _rest = _split_state(self, first, *filters)
  
      assert len(states) == len(filters) + 1
  
      if len(states) == 1:
          states = states[0]
      else:
          states = tuple(states)
  
      return states
  
imports: from __future__ import annotations
  import typing
  import jax
  import jax.tree_util
  from flax import traverse_util
  from flax.experimental.nnx.nnx import filterlib, reprlib
  from flax.experimental.nnx.nnx.variables import Variable
label_desc: Use image node_id 18 for calling the State obj's underlying member method code with example usage: obj.extract() and returns: states