code: public void register(Class<? extends ValueReader> reader) {
  
  		Assert.notNull(reader, "Missing reader class!");
  		boolean registered = false;
  
  		Consumes found = reader.getAnnotation(Consumes.class);
  		if (found != null) {
  			MediaType[] consumes = MediaTypeHelper.getMediaTypes(found.value());
  			if (consumes != null && consumes.length > 0) {
  				for (MediaType type : consumes) {
  					register(type, reader);
  				}
  			}
  			registered = true;
  		}
  
  		Assert.isTrue(registered,
  		              "Failed to register reader: '" + reader.getName() + "', missing @Consumes annotation!");
  	}
docs: Takes media type from @Consumes annotation if specified, otherwise fallback to generics