class ClientCacheGetNamesResponse extends ClientResponse {
    /** Cache names. */
    private final Collection<String> cacheNames;

    /**
     * Constructor.
     *
     * @param reqId Request id.
     * @param cacheNames Cache names.
     */
    ClientCacheGetNamesResponse(long reqId, Collection<String> cacheNames) {
        super(reqId);

        assert cacheNames != null;

        this.cacheNames = cacheNames;
    }

    /** {@inheritDoc} */
    @Override public void encode(ClientConnectionContext ctx, BinaryRawWriterEx writer) {<FILL_FUNCTION_BODY>}
}

        super.encode(ctx, writer);

        writer.writeInt(cacheNames.size());

        for (String name : cacheNames) {
            writer.writeString(name);
        }
    
<methods>public void <init>(long) ,public void <init>(long, java.lang.String) ,public void <init>(long, int, java.lang.String) ,public void encode(org.apache.ignite.internal.processors.platform.client.ClientConnectionContext, org.apache.ignite.internal.binary.BinaryRawWriterEx, org.apache.ignite.internal.processors.platform.client.ClientAffinityTopologyVersion) ,public void encode(org.apache.ignite.internal.processors.platform.client.ClientConnectionContext, org.apache.ignite.internal.binary.BinaryRawWriterEx) ,public long requestId() <variables>private final non-sealed long reqId