docs: @Override
      public PipelineEventReader<XMLEventReader, XMLEvent> getEventReader(
              HttpServletRequest request, HttpServletResponse response) {
          final PipelineEventReader<XMLEventReader, XMLEvent> pipelineEventReader =
                  this.wrappedComponent.getEventReader(request, response);
  
          final XMLEventReader eventReader = pipelineEventReader.getEventReader();
  
          final IStylesheetDescriptor stylesheetDescriptor =
                  stylesheetAttributeSource.getStylesheetDescriptor(request);
  
          final IPortalRequestInfo portalRequestInfo =
                  this.urlSyntaxProvider.getPortalRequestInfo(request);
  
          final XMLEventReader filteredEventReader;
          if (portalRequestInfo.getTargetedPortletWindowId() == null) {
              final IStylesheetParameterDescriptor defaultWindowStateParam =
                      stylesheetDescriptor.getStylesheetParameterDescriptor(
                              "dashboardForcedWindowState");
              if (defaultWindowStateParam != null) {
                  // Set all window states to the specified default
                  final WindowState windowState =
                          PortletUtils.getWindowState(defaultWindowStateParam.getDefaultValue());
                  filteredEventReader =
                          new SinglePortletWindowStateSettingXMLEventReader(
                                  request, eventReader, windowState);
              } else {
                  // Make sure there aren't any portlets in a "targeted" window state
                  filteredEventReader =
                          new NonTargetedPortletWindowStateSettingXMLEventReader(
                                  request, eventReader);
              }
          } else {
              // Not mobile, don't bother filtering
              filteredEventReader = eventReader;
          }
  
          final Map<String, String> outputProperties = pipelineEventReader.getOutputProperties();
          return new PipelineEventReaderImpl<XMLEventReader, XMLEvent>(
                  filteredEventReader, outputProperties);
      }