this.parameter = parameter;
}
@Override
public Object provide() {
final ContainerRequest requestContext = getContainerRequest();
final Class<?> rawType = parameter.getRawType();
Object value;
if ((Request.class.isAssignableFrom(rawType) || ContainerRequestContext.class.isAssignableFrom(rawType))
&& rawType.isInstance(requestContext)) {
value = requestContext;
} else {
value = requestContext.readEntity(rawType, parameter.getType(), parameter.getAnnotations());
if (rawType.isPrimitive() && value == null) {
throw new BadRequestException(Response.status(Response.Status.BAD_REQUEST)
.entity(LocalizationMessages.ERROR_PRIMITIVE_TYPE_NULL()).build());
}
}