public Object typeInterceptor(final ProceedingJoinPoint joinPoint) throws Throwable {
Class featuredClass = joinPoint.getTarget().getClass();
FeatureMarker marker = (FeatureMarker) featuredClass.getAnnotation(FeatureMarker.class);
if(!featuresRegistry.isFeatureEnabled(marker.value())) {
log.error("The feature '" + marker.value() + "' is not enabled");
throw new FeatureAccessException("The feature '" + marker.value() + "' is not enabled!");
}
return joinPoint.proceed();
}