I am a bit confused about what the `Initialize` method is typically used for in a constructor.

Why can't I just put everything in the constructor and why does the sample below call the initialize method? 

```
    private IAzureTable<Product> _productRepository;

    public ProductService(string dataSourceID)
    {
        Initialize(dataSourceID);
    }

    private void Initialize(string dataSourceID)
    {
        this._productRepository = StorageHelper.GetTable<Product>(dataSourceID);
    }

```

Is there a convention that is normally used? 

In this example do I need the word `this` in the `Initialize` method?