As per [this question](https://stackoverflow.com/questions/3404301/whats-wrong-with-overridable-method-calls-in-constructors), while I understand why it goes wrong, how can I effectively solve this while keeping my code DRY? I wouldn't want to copy and paste the contents in that function into the constructor.

Suppose I have the following

```
class Parent
{
    Parent()
    {
        overridableFunction();
    }

    void overridableFunction()
    { ... }
}

class Child extends Parent
{
    Child()
    {
        super();
        overridableFunction()
    }

    void overridableFunction()
    { ... // overridden }
}

```

Ideally, I wish the execution flow of the `Child` constructor to be
`Parent() --> Parent.overridableFunction() --> Child.overridableFunction()`

How can I achieve this without copying and pasting stuff around thus making the code WET?