docs: public void handle(SetCommand setCommand) {
          String key = null;
          try {
              key = URLDecoder.decode(setCommand.getKey(), "UTF-8");
          } catch (UnsupportedEncodingException e) {
              throw new HazelcastException(e);
          }
          String mapName = DEFAULT_MAP_NAME;
          int index = key.indexOf(':');
          if (index != -1) {
              mapName = MAP_NAME_PREFIX + key.substring(0, index);
              key = key.substring(index + 1);
          }
          Object value = new MemcacheEntry(setCommand.getKey(), setCommand.getValue(), setCommand.getFlag());
          int ttl = textCommandService.getAdjustedTTLSeconds(setCommand.getExpiration());
          textCommandService.incrementSetCount();
          if (SET == setCommand.getType()) {
              textCommandService.put(mapName, key, value, ttl);
              setCommand.setResponse(TextCommandConstants.STORED);
          } else if (ADD == setCommand.getType()) {
  
              addCommandType(setCommand, mapName, key, value, ttl);
  
          } else if (REPLACE == setCommand.getType()) {
  
              replaceCommandType(setCommand, mapName, key, value, ttl);
  
          } else if (APPEND == setCommand.getType()) {
  
              appendCommandType(setCommand, mapName, key, ttl);
  
          } else if (PREPEND == setCommand.getType()) {
  
              prependCommandType(setCommand, mapName, key, ttl);
  
          }
          if (setCommand.shouldReply()) {
              textCommandService.sendResponse(setCommand);
          }
      }