/**
* Constructs a new InvoiceDataSet instance.
*
* @param template The template to which the properties belong.
* @param properties The properties that belong to this template.
* @throws NullPointerException If template or properties is null.
*/
InvoiceDataSet(final Template template, final EnumMap<TemplateProperty, OCRObject> properties) {
this.template = Objects.requireNonNull(template, "template");
this.properties = Objects.requireNonNull(properties, "properties");
}