class ClientIgniteSetKeyRequest extends ClientIgniteSetRequest {
    /** Key. */
    private final Object key;

    /**
     * Constructor.
     *
     * @param reader Reader.
     */
    ClientIgniteSetKeyRequest(BinaryRawReaderEx reader) {
        super(reader);

        // Clients can enable deserialized values on server so that user objects are stored the same way
        // as if we were using "thick" API.
        // This is needed when both thick and thin APIs work with the same IgniteSet AND custom user types.
        boolean keepBinary = reader.readBoolean();
        key = keepBinary ? reader.readObjectDetached() : reader.readObject();
    }

    /** {@inheritDoc} */
    @Override public ClientResponse process(ClientConnectionContext ctx) {<FILL_FUNCTION_BODY>}

    /**
     * Processes the key request.
     *
     * @param set Ignite set.
     * @param key Key.
     * @return Response.
     */
    abstract ClientResponse process(IgniteSet<Object> set, Object key);
}

        IgniteSet<Object> igniteSet = igniteSet(ctx);

        if (igniteSet == null)
            return notFoundResponse();

        return process(igniteSet, key);
    
<methods>public void <init>(org.apache.ignite.binary.BinaryRawReader) ,public org.apache.ignite.internal.processors.platform.client.ClientResponse process(org.apache.ignite.internal.processors.platform.client.ClientConnectionContext) <variables>private final non-sealed int cacheId,private final non-sealed boolean collocated,private final non-sealed java.lang.String name