Sometimes when you place a breakpoint in a data provider class to debug an SSRS report and exercise the report to hit the breakpoint it works and sometimes it doesn't. So the trick to always make the hit is to inherit from the SrsReportDataProviderPreProcess class instead of the SRSReportDataProviderBase class
public class SalesInvoiceDP extends SrsReportDataProviderPreProcess
{
}