public Message unknownStore(String storeName, RequestType type) {
   VProto.Error error =
       VProto.Error.newBuilder()
           .setErrorCode(getErrorMapper().getCode(VoldemortException.class))
           .setErrorMessage("Unknown store '" + storeName + "'.")
           .build();
   switch (type) {
     case GET:
       return VProto.GetResponse.newBuilder().setError(error).build();
     case GET_ALL:
       return VProto.GetAllResponse.newBuilder().setError(error).build();
     case PUT:
       return VProto.PutResponse.newBuilder().setError(error).build();
     case DELETE:
       return VProto.DeleteResponse.newBuilder().setError(error).setSuccess(false).build();
     default:
       throw new VoldemortException("Unknown operation " + type);
   }
 }
 private VProto.GetAllResponse handleGetAll(
     VProto.GetAllRequest request, Store<ByteArray, byte[]> store) {
   VProto.GetAllResponse.Builder response = VProto.GetAllResponse.newBuilder();
   try {
     List<ByteArray> keys = new ArrayList<ByteArray>(request.getKeysCount());
     for (ByteString string : request.getKeysList()) keys.add(ProtoUtils.decodeBytes(string));
     Map<ByteArray, List<Versioned<byte[]>>> values = store.getAll(keys);
     for (Map.Entry<ByteArray, List<Versioned<byte[]>>> entry : values.entrySet()) {
       VProto.KeyedVersions.Builder keyedVersion =
           VProto.KeyedVersions.newBuilder().setKey(ProtoUtils.encodeBytes(entry.getKey()));
       for (Versioned<byte[]> version : entry.getValue())
         keyedVersion.addVersions(ProtoUtils.encodeVersioned(version));
       response.addValues(keyedVersion);
     }
   } catch (VoldemortException e) {
     response.setError(ProtoUtils.encodeError(getErrorMapper(), e));
   }
   return response.build();
 }