code: @Implementation
    protected int speak(
        final String text, final int queueMode, final HashMap<String, String> params) {
      if (RuntimeEnvironment.getApiLevel() >= LOLLIPOP) {
        return Shadow.directlyOn(tts, TextToSpeech.class).speak(text, queueMode, params);
      }
      return speak(
          text, queueMode, null, params == null ? null : params.get(Engine.KEY_PARAM_UTTERANCE_ID));
    }
docs: Speaks the string using the specified queuing strategy and speech parameters.
  
  @param params The real implementation converts the hashmap into a bundle, but the bundle
  argument is not used in the shadow implementation.