original_string: public function removeNode(Node $node = null) : bool
      {
          if (!$node) {
              return true;
          }
          // flag for GC
          unset($this->list[$node->key], $this->keyList[$node->key], $this->idList[$node->id]);
  
          return true;
      }
code: public function removeNode(Node $node = null) : bool
      {
          if (!$node) {
              return true;
          }
          // flag for GC
          unset($this->list[$node->key], $this->keyList[$node->key], $this->idList[$node->id]);
  
          return true;
      }
code_tokens: public function removeNode ( Node $ node = null ) : bool { if ( ! $ node ) { return true ; } // flag for GC unset ( $ this -> list [ $ node -> key ] , $ this -> keyList [ $ node -> key ] , $ this -> idList [ $ node -> id ] ) ; return true ; }
docstring: removes a specific node
  
  @param Node $node
  
  @return $this
docstring_tokens: removes a specific node