{
csvparser.close();
throw new Error("The row doesn't have the same number of columns as the header " + line.length + "!=" + headerline.length);
}
AdvancedPricingReportRow aprr = new AdvancedPricingReportRow();
aprr.setListingId( line[ AdvancedPricingReport.Header.LISTING_ID.getIndex(headerline) ] );
aprr.setSku( line[ AdvancedPricingReport.Header.SKU.getIndex(headerline) ] );
aprr.setItemName( line[ AdvancedPricingReport.Header.ITEM_NAME.getIndex(headerline) ] );
aprr.setQuantity( line[ AdvancedPricingReport.Header.QUANTITY.getIndex(headerline) ] );
aprr.setDeliveredPriceGBP( line[ AdvancedPricingReport.Header.DELIVERED_PRICE_GBP.getIndex(headerline) ] );
aprr.setDeliveredPriceEuro( line[ AdvancedPricingReport.Header.DELIVERED_PRICE_EURO.getIndex(headerline) ] );
aprr.setPlayPriceGBP( line[ AdvancedPricingReport.Header.PLAY_PRICE_GBP.getIndex(headerline) ] );
aprr.setPlayPriceEuro( line[ AdvancedPricingReport.Header.PLAY_PRICE_EURO.getIndex(headerline) ] );
aprr.setPlayAvailability( line[ AdvancedPricingReport.Header.PLAY_AVAILABILITY.getIndex(headerline) ] );
aprr.setCheapestOtherGBP( line[ AdvancedPricingReport.Header.CHEAPEST_OTHER_GBP.getIndex(headerline) ] );
aprr.setCheapestOtherGBPCondition( line[ AdvancedPricingReport.Header.CHEAPEST_OTHER_GBP_CONDITION.getIndex(headerline) ] );
aprr.setCheapestotherEuro( line[ AdvancedPricingReport.Header.CHEAPEST_OTHER_EURO.getIndex(headerline) ] );
aprr.setCheapestOtherEuroCondition( line[ AdvancedPricingReport.Header.CHEAPEST_OTHER_EURO_CONDITION.getIndex(headerline) ] );
//send this to the listener
listener.found(aprr);
}