This package is for portal implementation wrappers that do security checked access to public methods in portlet classes.

Due to the current implementation of additional interfaces for portlets, we must have different wrappers depending on:

- plain Portlet
- Portlet implements PortletState interface
- Portlet implements Cacheable interface
- Portlet implements both interfaces

The "consumer" of these classes (currently the PortletFactoryService) MUST ensure that the proper wrapper is used. A way to achive this while centralizing this (dirty) code is to use `return PortletWrapper.wrap( portlet )` when returning a portlet.