class DriveReceiptsManager {

    public synchronized void handleInsertOrUpdate(@NonNull final Receipt receipt) {
        if (!mIsInitializing.get()) {
            handleInsertOrUpdateInternal(receipt);
        }
    }

    public  DriveReceiptsManager(@NonNull TableController<Receipt> receiptsTableController, @NonNull TripsTable tripsTable,
                                @NonNull ReceiptsTable receiptsTable, @NonNull DriveStreamsManager driveTaskManager,
                                @NonNull DriveDatabaseManager driveDatabaseManager, @NonNull NetworkManager networkManager,
                                @NonNull Analytics analytics);
    public  DriveReceiptsManager(@NonNull TableController<Receipt> receiptsTableController,
                                @NonNull TripsTable tripsTable,
                                @NonNull ReceiptsTable receiptsTable,
                                @NonNull DriveStreamsManager driveTaskManager,
                                @NonNull DriveDatabaseManager driveDatabaseManager,
                                @NonNull NetworkManager networkManager,
                                @NonNull Analytics analytics,
                                @NonNull DriveStreamMappings driveStreamMappings,
                                @NonNull ReceiptBuilderFactoryFactory receiptBuilderFactoryFactory,
                                @NonNull Scheduler observeOnScheduler,
                                @NonNull Scheduler subscribeOnScheduler);

}