@Override
  protected boolean cached(Object[] args) {

    long groupId = (long) args[0];
    String articleId = (String) args[1];
    Locale locale = (Locale) args[2];
    Long templateId = (Long) args[3];

    String id = articleId + (templateId == null || templateId == 0 ? "" : templateId);
    Long userId = SessionContext.getUserId();
    TableCache webContent =
        (TableCache)
            CacheSQL.getInstance()
                .getById(DefaultCachedType.WEB_CONTENT, id, groupId, userId, locale);
    if (webContent != null) {
      onEvent(
          new WebContentDisplayEvent(
              getTargetScreenletId(),
              groupId,
              articleId,
              locale,
              templateId,
              webContent.getContent()));
      return true;
    }
    return false;
  }