code: public Map<Names, String> parseResponse(JSONArray response) throws CommandExecutionException {
          if (response == null) throw  new CommandExecutionException(CommandExecutionException.Error.INVALID_RESPONSE);
          if (response.length() != props.length) throw  new CommandExecutionException(CommandExecutionException.Error.INVALID_RESPONSE);
          Map<Names, String> ret = new HashMap<>(props.length);
          for (int i = 0; i < props.length; i++){
              ret.put(props[i], response.optString(i, ""));
          }
          return ret;
      }
docs: Parse the response from the device and return a map containing the property names and their values.
  @param response The response from the device.
  @return A map containing the property names as the keys and their values.