protected List<Portlet> getStaticPortlets(String position) { String[] portletIds = getStaticPortletIds(position); List<Portlet> portlets = new ArrayList<>(); for (String portletId : portletIds) { if (Validator.isNull(portletId) || hasNonstaticPortletId(portletId)) { continue; } Portlet portlet = PortletLocalServiceUtil.getPortletById(getCompanyId(), portletId); if (portlet != null) { Portlet staticPortlet = portlet; if (portlet.isInstanceable()) { // Instanceable portlets do not need to be cloned because // they are already cloned. See the method getPortletById in // the class PortletLocalServiceImpl and how it references // the method getClonedInstance in the class PortletImpl. } else { staticPortlet = (Portlet) staticPortlet.clone(); } staticPortlet.setStatic(true); if (position.startsWith("layout.static.portlets.start")) { staticPortlet.setStaticStart(true); } portlets.add(staticPortlet); } } return portlets; }