code: public synchronized PortletApplicationDefinition getPortletAppDD(
              ServletContext servletContext, String name, String contextPath)
              throws PortletContainerException {
          PortletApplicationDefinition portletApp =
                  this.portletAppDefinitionCache.get(servletContext);
          if (portletApp == null) {
              portletApp = createDefinition(servletContext, name, contextPath);
              this.portletAppDefinitionCache.put(servletContext, portletApp);
          }
          return portletApp;
      }
docs: Retrieve the Portlet Application Deployment Descriptor for the given servlet context. Create
  it if it does not allready exist.
  
  @param servletContext the servlet context.
  @return The portlet application deployment descriptor.
  @throws PortletContainerException if the descriptor can not be found or parsed