I'm working with typescript and I have a problem with the static inheritance between classes

Can anyone explain me the result of the following :

```
class Foo {
    protected static bar: string[] = [];

    public static addBar(bar: string) {
        this.bar.push(bar);
    }

    public static logBar() {
        console.log(this.bar);
    }
}

class Son extends Foo {
    protected static bar: string[] = [];
}

class Daughter extends Foo {}

Foo.addBar('Hello');
Son.addBar('World');
Daughter.addBar('Both ?');
Foo.logBar();
Son.logBar();
Daughter.logBar();

```

current result :

```
[ 'Hello', 'Both ?' ]
[ 'World' ]
[ 'Hello', 'Both ?' ]

```

but I want :

```
[ 'Hello' ]
[ 'World' ]
[ 'Both ?' ]

```

Do I have a solution without redeclare the static `bar` property ?

Thanks !