class PropertiesProvider {

    public Configuration getConfigurations(String... filenames) throws FileNotFoundException, ConfigurationException {
        File file = Arrays.stream(filenames)
            .map(this::getConfigurationFile)
            .flatMap(Optional::stream)
            .findFirst()
            .orElseThrow(() -> new FileNotFoundException(Joiner.on(",").join(filenames) + " not found"));

        return getConfiguration(file);
    }

    @Inject public  PropertiesProvider(FileSystem fileSystem, ConfigurationPath configurationPrefix);

}