CharSequence domain, CharSequence category, StringValue message)
StringValue domain, CharSequence category, StringValue message)
  private StringValue translate(Env env,                          CharSequence domain,                          CharSequence category,                          StringValue message)  {    Path path = getPath(env, category, domain);    if (path == null) {      env.notice(L.l("Translation MO file was not found."));      return message;    }    String id = getCacheId(path, message);    StringValue translation = cache.get(id);    if (translation != null)      return translation;    translation = MOFileParser.search(env, path, message);    if (translation == null)      translation = message;    cache.put(id, translation);    return translation;  }