@Override public boolean isCacheable() { List<Portlet> portlets = new ArrayList<>(); for (String columnId : getColumns()) { List<Portlet> columnPortlets = getAllPortlets(columnId); for (Portlet portlet : columnPortlets) { Portlet rootPortlet = portlet.getRootPortlet(); if (!rootPortlet.isLayoutCacheable()) { return false; } } portlets.addAll(columnPortlets); } List<Portlet> staticPortlets = getStaticPortlets(PropsKeys.LAYOUT_STATIC_PORTLETS_ALL); for (Portlet portlet : staticPortlets) { Portlet rootPortlet = portlet.getRootPortlet(); if (!rootPortlet.isLayoutCacheable()) { return false; } } List<Portlet> embeddedPortlets = getEmbeddedPortlets(); for (Portlet portlet : embeddedPortlets) { Portlet rootPortlet = portlet.getRootPortlet(); if (!rootPortlet.isLayoutCacheable()) { return false; } } return true; }