public final <T extends Response> T send(String namespace, Request request, Class<T> responseClass)
            throws IOException {
        Status status = getStatus();
        Application runningApp = status.getRunningApp();
        if (runningApp == null) {
            throw new ChromeCastException("No application is running in ChromeCast");
        }
        return channel().sendGenericRequest(getTransportId(runningApp), namespace, request, responseClass);
    }
public final < T extends Response > T send ( String namespace , Request request , Class < T > responseClass ) throws IOException { Status status = getStatus ( ) ; Application runningApp = status . getRunningApp ( ) ; if ( runningApp == null ) { throw new ChromeCastException ( "No application is running in ChromeCast" ) ; } return channel ( ) . sendGenericRequest ( getTransportId ( runningApp ) , namespace , request , responseClass ) ; }
<p>Sends some generic request to the currently running application.</p>

<p>If no application is running at the moment then exception is thrown.</p>

@param namespace         request namespace
@param request           request object
@param responseClass     class of the response for proper deserialization
@param <T>               type of response
@return                  deserialized response
@throws IOException