```
class Test
{
    private $flag;

    public function __construct($flag)
    {
        $this->flag = $flag;
    }

    public function a()
    {
        if ($this->flag)
        {
            $this->b();
        }
    }

    public function b()
    {
        $this->c();
    }

    public function c()
    {
    }
}

```

how an external method would like to use `b()` but he cant do it without creating `Test`. But Test requires a parameter, even though it wont be used. `b()` also cant be static.