The PortletModeException is thrown when a portlet
tries to use or set a portlet mode that is not supported by the current
runtime environment or the portlet.
A portlet should throw a PortletSecurityException
when a call fails because of security reasons.
Additionally it can be thrown by the portal/portlet-container.
The UnmodifiableException is thrown when
a portlet tries to change the value for a preference
attribute, marked as unmodifiable in the deployment descriptor
with the non-modifiable tag, without
the needed permissions.
The default implementation of this method routes the render request
to a set of helper methods depending on the current portlet mode the
portlet is currently in.