Create FileReader, Untie Template/Instance-Reader from File input
TemplateReader and InstanceReader assume that input is from files. Suggest to move file handling into a new class FileReader
that implements InputReader and is a merge of the file handling in InstanceReader and TemplateReader and Files.
This will leave TemplateReader and InstanceReader almost empty. Suggest to convert them into interfaces, where the input format is parameterised, e.g.,
public class InstanceReader<I> implements Function<I, ResultStream<Instance>> {