@Override public Set<K> keySet() throws IOException { final Message request = Message.newBuilder() .setKeySetRequest(RegionAPI.KeySetRequest.newBuilder().setRegionName(name)).build(); final Message message = protobufChannel.sendRequest(request, MessageTypeCase.KEYSETRESPONSE); final RegionAPI.KeySetResponse keySetResponse = message.getKeySetResponse(); Set<K> keys = new HashSet<>(keySetResponse.getKeysCount()); for (BasicTypes.EncodedValue value : keySetResponse.getKeysList()) { keys.add((K) valueEncoder.decodeValue(value)); } return keys; } }