@Override
	public ArgumentsReader getArgumentsReader(HttpServletRequest httpRequest, Type[] formalParameters) {
    """
	Get arguments reader able to process arguments from HTTP request accordingly expected argument types. If HTTP request has
	no content type returns {@link EncoderKey#APPLICATION_JSON} reader, that is, 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.
	<p>
	If formal parameters are empty returns {@link EmptyArgumentsReader}. If formal parameters are provided attempts to
	retrieve a reader for expected argument types. If none found try using content type solely.
	
	@param httpRequest HTTP request carrying arguments to read,
	@param formalParameters expected argument types, possible empty.
	@return arguments reader, never null.
	@throws IllegalArgumentException if no reader found for requested HTTP request and expected argument types.
    """
		if (formalParameters.length == 0) {
			return EmptyArgumentsReader.getInstance();
		}
		if (httpRequest.getQueryString() != null) {
			return readers.get(null);
		}

		return getArgumentsReader(httpRequest.getContentType(), formalParameters[0]);
	}
@Override
	public ArgumentsReader getArgumentsReader(HttpServletRequest httpRequest, Type[] formalParameters) {
		if (formalParameters.length == 0) {
			return EmptyArgumentsReader.getInstance();
		}
		if (httpRequest.getQueryString() != null) {
			return readers.get(null);
		}

		return getArgumentsReader(httpRequest.getContentType(), formalParameters[0]);
	}
@ Override public ArgumentsReader getArgumentsReader ( HttpServletRequest httpRequest , Type [ ] formalParameters ) { if ( formalParameters . length == 0 ) { return EmptyArgumentsReader . getInstance ( ) ; } if ( httpRequest . getQueryString ( ) != null ) { return readers . get ( null ) ; } return getArgumentsReader ( httpRequest . getContentType ( ) , formalParameters [ 0 ] ) ; }
Get arguments reader able to process arguments from HTTP request accordingly expected argument types. If HTTP request has
no content type returns {@link EncoderKey#APPLICATION_JSON} reader, that is, 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.
<p>
If formal parameters are empty returns {@link EmptyArgumentsReader}. If formal parameters are provided attempts to
retrieve a reader for expected argument types. If none found try using content type solely.

@param httpRequest HTTP request carrying arguments to read,
@param formalParameters expected argument types, possible empty.
@return arguments reader, never null.
@throws IllegalArgumentException if no reader found for requested HTTP request and expected argument types.
Get arguments reader able to process arguments from HTTP request accordingly expected argument types . If HTTP request has no content type returns { @link EncoderKey#APPLICATION_JSON } reader that is 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 . <p > If formal parameters are empty returns { @link EmptyArgumentsReader } . If formal parameters are provided attempts to retrieve a reader for expected argument types . If none found try using content type solely .