class CompositeFileReader implements FileReader {

    @Nullable
    @Override
    public CharStream read(String name) {
        for (FileReader delegate : delegateList) {
            CharStream result = delegate.read(name);
            if (result != null) {
                return result;
            }
        }
        return null;
    }

    public  CompositeFileReader(List<FileReader> delegateList);
    public  CompositeFileReader(FileReader... delegates);

}