Source:
<code>public void setVisible(final boolean visible) { if (visible) { final AbstractCustomParserInputWizardPage inputPage = getWizard().getInputPage(); setDefinition(inputPage.getDefinition()); final List<String> outputNames = <START> inputPage.getInputNames(); <END> final Iterator<Output> iter = getOutputs().iterator(); while (iter.hasNext()) { final Output output = iter.next(); boolean found = false; for (final String name : outputNames) { if (output.name.equals(name)) { found = true; break; } } if (!found) { output.dispose(); iter.remove(); } } for (final String name : outputNames) { boolean found = false; for (final Output output : getOutputs()) { if (output.name.equals(name)) { found = true; break; } } if (!found) { getOutputs().add(new Output(getOutputsContainer(), name)); } } getOutputsContainer().layout(); getOutputsScrolledComposite().setMinSize(getOutputsContainer().computeSize(SWT.DEFAULT, SWT.DEFAULT).x, getOutputsContainer().computeSize(SWT.DEFAULT, SWT.DEFAULT).y - 5); updatePreviewTable(); if (getSash().getSize().y > getOutputsContainer().computeSize(SWT.DEFAULT, SWT.DEFAULT).y + getPreviewTable().getTable().getItemHeight()) { getSash().setWeights(new int[] { getOutputsContainer().computeSize(SWT.DEFAULT, SWT.DEFAULT).y, getSash().getSize().y - getOutputsContainer().computeSize(SWT.DEFAULT, SWT.DEFAULT).y }); } else { getSash().setWeights(new int[] { getOutputsContainer().computeSize(SWT.DEFAULT, SWT.DEFAULT).y, getPreviewTable().getTable().getItemHeight() }); } setPageComplete(true); } else { setPageComplete(false); } super.setVisible(visible); }</code><technical_language>Examining this method, is extracting inputs definition, model of input page. This is output pages cares about. belongs more in specific output page subclass (the names extracted differently for txt xml). abstract method in this class instead</technical_language>

Target:
public void setVisible(final boolean visible) { if (visible) { setDefinition(getDefinition()); final List<String> outputNames = getOutputNames(); final Iterator<Output> iter = getOutputs().iterator(); while (iter.hasNext()) { final Output output = iter.next(); boolean found = false; for (final String name : outputNames) { if (output.name.equals(name)) { found = true; break; } } if (!found) { output.dispose(); iter.remove(); } } for (final String name : outputNames) { boolean found = false; for (final Output output : getOutputs()) { if (output.name.equals(name)) { found = true; break; } } if (!found) { getOutputs().add(new Output(getOutputsContainer(), name)); } } getOutputsContainer().layout(); getOutputsScrolledComposite().setMinSize(getOutputsContainer().computeSize(SWT.DEFAULT, SWT.DEFAULT).x, getOutputsContainer().computeSize(SWT.DEFAULT, SWT.DEFAULT).y - 5); updatePreviewTable(); if (getSash().getSize().y > getOutputsContainer().computeSize(SWT.DEFAULT, SWT.DEFAULT).y + getPreviewTable().getTable().getItemHeight()) { getSash().setWeights(new int[] { getOutputsContainer().computeSize(SWT.DEFAULT, SWT.DEFAULT).y, getSash().getSize().y - getOutputsContainer().computeSize(SWT.DEFAULT, SWT.DEFAULT).y }); } else { getSash().setWeights(new int[] { getOutputsContainer().computeSize(SWT.DEFAULT, SWT.DEFAULT).y, getPreviewTable().getTable().getItemHeight() }); } setPageComplete(true); } else { setPageComplete(false); } super.setVisible(visible); }