src/main/java/js/http/encoder/ServerEncoders.java
private ArgumentsReader getArgumentsReader(String contentType, Type parameterType) {
		if (contentType == null) {
			return readers.get(EncoderKey.APPLICATION_JSON);
		}

		EncoderKey key = new EncoderKey(ContentType.valueOf(contentType), parameterType);
		ArgumentsReader reader = readers.get(key);
		if (reader != null) {
			return reader;
		}

		key = new EncoderKey(ContentType.valueOf(contentType));
		reader = readers.get(key);
		if (reader == null) {
			throw new IllegalArgumentException("Unsupported content type |%s|. There is no arguments reader registered for it.", key);
		}
		return reader;
	}
private ArgumentsReader getArgumentsReader(String contentType, Type parameterType) {
		if (contentType == null) {
			return readers.get(EncoderKey.APPLICATION_JSON);
		}

		EncoderKey key = new EncoderKey(ContentType.valueOf(contentType), parameterType);
		ArgumentsReader reader = readers.get(key);
		if (reader != null) {
			return reader;
		}

		key = new EncoderKey(ContentType.valueOf(contentType));
		reader = readers.get(key);
		if (reader == null) {
			throw new IllegalArgumentException("Unsupported content type |%s|. There is no arguments reader registered for it.", key);
		}
		return reader;
	}
private ArgumentsReader getArgumentsReader ( String contentType , Type parameterType ) { if ( contentType == null ) { return readers . get ( EncoderKey . APPLICATION_JSON ) ; } EncoderKey key = new EncoderKey ( ContentType . valueOf ( contentType ) , parameterType ) ; ArgumentsReader reader = readers . get ( key ) ; if ( reader != null ) { return reader ; } key = new EncoderKey ( ContentType . valueOf ( contentType ) ) ; reader = readers . get ( key ) ; if ( reader == null ) { throw new IllegalArgumentException ( "Unsupported content type |%s|. There is no arguments reader registered for it." , key ) ; } return reader ; }
Get arguments reader for requested content and parameter types. This factory method tries to retrieve a reader for
expected parameter type. If none found it tries using content type solely.
<p>
If content type is null this utility method returns {@link EncoderKey#APPLICATION_JSON} reader since tiny container
default content type is JSON. This departs from HTTP standard that mandates using bytes stream when no content type is
provided on request.

@param contentType content type, possible null,
@param parameterType parameter type.
@return reader instance, never null.
@throws IllegalArgumentException if no reader found for requested content and parameter types.
Get arguments reader for requested content and parameter types . This factory method tries to retrieve a reader for expected parameter type . If none found it tries using content type solely . <p > If content type is null this utility method returns { @link EncoderKey#APPLICATION_JSON } reader since tiny container default content type is JSON . This departs from HTTP standard that mandates using bytes stream when no content type is provided on request .