original_string: public function remove($obs)
      {
          $old = $this->_filter;
          $this->setIteratorFilter(self::HIDE_GROUPS | self::BASE_ELEMENTS);
  
          foreach ($this->_normalize($obs) as $val) {
              $remove = array();
  
              foreach ($this as $key => $val2) {
                  if ($val2->match($val)) {
                      $remove[] = $key;
                  }
              }
  
              foreach (array_reverse($remove) as $key) {
                  unset($this[$key]);
              }
          }
  
          $this->_filter = $old;
      }
code: public function remove($obs)
      {
          $old = $this->_filter;
          $this->setIteratorFilter(self::HIDE_GROUPS | self::BASE_ELEMENTS);
  
          foreach ($this->_normalize($obs) as $val) {
              $remove = array();
  
              foreach ($this as $key => $val2) {
                  if ($val2->match($val)) {
                      $remove[] = $key;
                  }
              }
  
              foreach (array_reverse($remove) as $key) {
                  unset($this[$key]);
              }
          }
  
          $this->_filter = $old;
      }
code_tokens: public function remove ( $ obs ) { $ old = $ this -> _filter ; $ this -> setIteratorFilter ( self :: HIDE_GROUPS | self :: BASE_ELEMENTS ) ; foreach ( $ this -> _normalize ( $ obs ) as $ val ) { $ remove = array ( ) ; foreach ( $ this as $ key => $ val2 ) { if ( $ val2 -> match ( $ val ) ) { $ remove [ ] = $ key ; } } foreach ( array_reverse ( $ remove ) as $ key ) { unset ( $ this [ $ key ] ) ; } } $ this -> _filter = $ old ; }
docstring: Remove addresses from the container. This method ignores Group objects.
  
  @param mixed $obs  Addresses to remove.
docstring_tokens: Remove addresses from the container . This method ignores Group objects .