Override preparePaintComponent in order to set up the example data the first time through.

@param request the request being responded to.
438396
@Override
	public void preparePaintComponent(final Request request) {
		if (!this.isInitialised()) {
			List<String> dummyList = new ArrayList<>(2);
			dummyList.add("a");
			dummyList.add("b");

			repeater.setData(dummyList);

			this.setInitialised(true);
		}
	}
1232747
@Override
	public void handleRequest(final Request request) {
		assertConfigured();

		//
		// Service the request for each row.
		//
		List beanList = getBeanList();
		HashSet rowIds = new HashSet(beanList.size());
		WComponent row = getRepeatedComponent();

		for (int i = 0; i < beanList.size(); i++) {
			Object rowData = beanList.get(i);
			rowIds.add(getRowId(rowData));

			// Each row has its own context. This is why we can reuse the same
			// WComponent instance for each row.
			UIContext rowContext = getRowContext(rowData, i);

			try {
				UIContextHolder.pushContext(rowContext);
				row.serviceRequest(request);
			} finally {
				UIContextHolder.popContext();
			}
		}

		cleanupStaleContexts(rowIds);
	}
70997
@Override
	protected void preparePaintComponent(final Request request) {
		super.preparePaintComponent(request);

		if (!isInitialised()) {
			rb2.setSelected(true);
			rb3.setToolTip("This is disabled.");

			setInitialised(true);
		}
	}
1127155
protected void initThreadLocalJawrContext(HttpServletRequest request) {
		ThreadLocalJawrContext.setJawrConfigMgrObjectName(JmxUtils.getJawrConfigMBeanObjectName(
				request.getContextPath(), resourceType, jawrConfig.getProperty(JawrConstant.JAWR_JMX_MBEAN_PREFIX)));

		ThreadLocalJawrContext.setRequest(request.getRequestURL().toString());

		RendererRequestUtils.setRequestDebuggable(request, jawrConfig);
	}
255901
@Override
	protected void preparePaintComponent(final Request request) {
		super.preparePaintComponent(request);
		UIContext uic = UIContextHolder.getCurrent();

		// If the link has an action, register it for AJAX
		final Action action = getAction();
		final AjaxTarget[] actionTargets = getActionTargets();

		if (action != null && uic.getUI() != null) {
			// Register AJAX operation if AJAX targets are set, otherwise rely on InternalAjax request
			if (actionTargets != null && actionTargets.length > 0) {
				List<String> targetIds = new ArrayList<>();
				for (AjaxTarget target : actionTargets) {
					targetIds.add(target.getId());
				}
				// Register the action targets
				AjaxHelper.registerComponents(targetIds, getId());
			}
		}
	}
1153101
@Override
	public void preparePaintComponent(final Request request) {
		if (!isInitialised()) {
			List<SimpleTableBean> items = new ArrayList<>();
			items.add(new SimpleTableBean("A", "none", "thing"));
			items.add(new SimpleTableBean("B", "some", "thing2"));
			items.add(new SimpleTableBean("C", "little", "thing3"));
			items.add(new SimpleTableBean("D", "lots", "thing4"));

			for (WList list : lists) {
				list.setData(items);
			}

			setInitialised(true);
		}
	}
436793
@Override
	public void handleRequest(final Request request) {
		// Let the wcomponent gather data from the request.
		super.handleRequest(request);

		Object data = getData();

		if (data != null) {
			// Now update the data object (bound to this wcomponent) by copying
			// values from this wcomponent and its children into the data object.
			updateData(data);
		}
	}
204668
@Override
	public void handleRequest(final Request request) {
		if (clrBtn.isPressed()) {
			textFld.setText("");
		} else if (dupBtn.isPressed()) {
			// Get the text entered by the user.
			String text = textFld.getText();

			// Now duplicate it.
			textFld.setText(text + text);
		}
	}
1087378
@Override
	public void handleRequest(final Request request) {
		super.handleRequest(request);

		// Check if window in request
		boolean targeted = isPresent(request);
		setTargeted(targeted);

		if (getState() == ACTIVE_STATE && isTargeted()) {
			getComponentModel().wrappedContent.serviceRequest(request);
		}
	}
1226573
@Override
	protected void preparePaintComponent(final Request request) {
		super.preparePaintComponent(request);

		if (!isInitialised()) {
			textArea.setFocussed();

			setInitialised(true);
		}
	}
343842
@Override
    public ContentPattern<?> forRequest(Request request) {
        final String mimeType = request.getHeaders().getContentTypeHeader().mimeTypePart();
        if (mimeType != null) {
            if (mimeType.contains("json")) {
                return new EqualToJsonPattern(request.getBodyAsString(), ignoreArrayOrder, ignoreExtraElements);
            } else if (mimeType.contains("xml")) {
                return new EqualToXmlPattern(request.getBodyAsString());
            } else if (mimeType.equals("multipart/form-data")) {
                // TODO: Need to add a matcher that can handle multipart data properly. For now, just always match
                return new AnythingPattern();
            } else if (!determineIsTextFromMimeType(mimeType)) {
                return new BinaryEqualToPattern(request.getBody());
            }
        }

        return new EqualToPattern(request.getBodyAsString(), caseInsensitive);
    }
348178
@Override
	public void preparePaint(final Request request) {
		UIContext uic = UIContextHolder.getCurrent();
		Headers headers = uic.getUI().getHeaders();
		headers.reset();
		headers.setContentType(WebUtilities.CONTENT_TYPE_XML);

		super.preparePaint(request);
	}
9054
@Override
	public void preparePaintComponent(final Request request) {
		if (!this.isInitialised() || resetButton.isPressed()) {
			String preferredState = request.getAppPreferenceParameter("example.preferred.state");
			stateSelector.setSelected(preferredState);
			this.setInitialised(true);
		}
	}
1205761
@Override
	protected void preparePaintComponent(final Request request) {
		if (!isInitialised()) {
			MyData data = new MyData("Homer");
			basic.setData(data);

			List<MyData> dataList = new ArrayList<>();
			dataList.add(new MyData("Homer"));
			dataList.add(new MyData("Marge"));
			dataList.add(new MyData("Bart"));
			repeated.setBeanList(dataList);

			dataList = new ArrayList<>();
			dataList.add(new MyData("Greg"));
			dataList.add(new MyData("Jeff"));
			dataList.add(new MyData("Anthony"));
			dataList.add(new MyData("Murray"));
			repeatedLink.setData(dataList);

			List<List<MyData>> rootList = new ArrayList<>();

			List<MyData> subList = new ArrayList<>();
			subList.add(new MyData("Ernie"));
			subList.add(new MyData("Bert"));
			rootList.add(subList);

			subList = new ArrayList<>();
			subList.add(new MyData("Starsky"));
			subList.add(new MyData("Hutch"));
			rootList.add(subList);

			nestedRepeaterTab.setData(rootList);

			setInitialised(true);
		}
	}
982659
@Override
	protected void preparePaintComponent(final Request request) {
		super.preparePaintComponent(request);

		if (!isInitialised()) {
			updateRecentMenu();
			setInitialised(true);
		}

		boolean hasRecentMenu = menu.getMenuItems().size() > 0;
		menu.setVisible(hasRecentMenu);
		recentMenuHeading.setVisible(hasRecentMenu);
	}
85020
@Override
	public void preparePaintComponent(final Request request) {
		if (!this.isInitialised()) {
			// Give the repeater the list of data to display.
			repeater.setData(fetchDataList());

			// Remember that we've done the initialisation.
			this.setInitialised(true);
		}
	}
566445
@Override
	protected void preparePaintComponent(final Request request) {
		if (!isInitialised()) {
			// Default some values.
			tf3.setDisabled(true);

			tf1.setText("blah blah");
			tf2.setText("abc");
			tf3.setText("abc");

			setInitialised(true);
		}
	}