class ImmutableFeatures implements Features {

    @Override
    public Optional<Feature> getFeature(final String featureId) {
        checkFeatureId(featureId);

        return Optional.ofNullable(features.get(featureId));
    }

    private  ImmutableFeatures(final Map<String, Feature> features);

}