I don't think this API is Controller tier, so I don't think it should use `javax.portlet` APIs.  `ITenantOperationsListener` implementations could still discover at runtime that they are in a portlet (or servlet, which seems plausible when these APIs are triggered through REST servlet controllers) request processing context via `RequestContextHolder`.