class PropertiesProvider {

    public Configuration getConfiguration(String fileName) throws FileNotFoundException, ConfigurationException {
        Preconditions.checkArgument(!Strings.isNullOrEmpty(fileName));

        File file = getConfigurationFile(fileName)
            .orElseThrow(() -> new FileNotFoundException(fileName));

        return getConfiguration(file);
    }

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

}