public function toggle( $token, $force = null )
	{
		$output   = null;
		$contains = $this->contains( $token );

		if ( $contains ) {
			if ( ! $force ) {
				$this->__remove( [ $token ] );
				$change = false;
			}
			else {
				$change = true;
			}
		}
		else {
			if ( false === $force ) {
				$change = false;
			}
			else {
				$this->__add( [ $token ] );
				$change = true;
			}
		}

		return $change;
	}
public function toggle( $token, $force = null )
	{
		$output   = null;
		$contains = $this->contains( $token );

		if ( $contains ) {
			if ( ! $force ) {
				$this->__remove( [ $token ] );
				$change = false;
			}
			else {
				$change = true;
			}
		}
		else {
			if ( false === $force ) {
				$change = false;
			}
			else {
				$this->__add( [ $token ] );
				$change = true;
			}
		}

		return $change;
	}
public function toggle ( $ token , $ force = null ) { $ output = null ; $ contains = $ this -> contains ( $ token ) ; if ( $ contains ) { if ( ! $ force ) { $ this -> __remove ( [ $ token ] ) ; $ change = false ; } else { $ change = true ; } } else { if ( false === $ force ) { $ change = false ; } else { $ this -> __add ( [ $ token ] ) ; $ change = true ; } } return $ change ; }
If the name exists within the token list, it will be removed.
If name does not exist, it will be added.

Errors are not thrown If the token does not exist.

@param string    $tokens A case-sensitive string representing a token.
@param bool|null $force  When TRUE, adds the token (via self::add()).
When FALSE, the token is removed (via self::remove()).
If not used (undefined or simply non existent),
normal toggle behavior ensues.
Useful for adding or removing in one-step based on a condition.

@return bool Returns TRUE if token is now present, and FALSE otherwise.
If the name exists within the token list it will be removed . If name does not exist it will be added .