public void deleteField(final int nameIndex) {
		final List newFields = new ArrayList();

		boolean foundIt = false;
		for (int i = 0; i < this.fields.length; i++) {
			final Field field = this.fields[i];
			if (field.nameIndex() == nameIndex) {
				foundIt = true;

			} else {
				newFields.add(field);
			}
		}

		if (!foundIt) {
			final String s = "No field with name index " + nameIndex + " in "
					+ this.name();
			throw new IllegalArgumentException(s);

		} else {
			this.fields = (Field[]) newFields.toArray(new Field[0]);
		}
	}