while (st.hasMoreTokens()) { String name = st.nextToken();
Iterator it = newExtraFields.iterator(); while (it.hasNext()) { String name = (String) it.next();
	void addExtraFields(Picture p) {		String newExtraFields = p.getAlbum().getExtraFields();		if (newExtraFields == null) {			removeExtraFields();		} else {			if (! newExtraFields.equals(currentExtraFields)) {				removeExtraFields();				StringTokenizer st = new StringTokenizer(newExtraFields, ",");				int i = 0;				while (st.hasMoreTokens()) {					String name = st.nextToken();					//String value = p.getExtraField(name);					JLabel label = new JLabel(name);					extraLabels.put(name, label);					add( label,   new GridBagConstraints(0, FIRST_ROW_EXTRA + i, 1, 1, 0.0, 0.0							,GridBagConstraints.NORTHEAST, GridBagConstraints.NONE, new Insets(5, 0, 0, 0), 2, 0) );					JTextArea field = new JTextArea();					extraTextAreas.put(name, field);					field.setFont(new java.awt.Font("SansSerif", 0, 11));					add( field,  new GridBagConstraints(1, FIRST_ROW_EXTRA + i, 1, 1, 1.0, 1.0							,GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(5, 0, 0, 0), 0, 0) );					field.getDocument().addDocumentListener(this);					i++;				}			}			StringTokenizer st = new StringTokenizer(newExtraFields, ",");			while (st.hasMoreTokens()) {				String name = st.nextToken();				String value = p.getExtraField(name);				JTextArea field = (JTextArea) extraTextAreas.get(name);				if (value == null) {					field.setText("");				} else {					field.setText(value);				}			}		}	}