class FieldList extends FieldSet {

	@Override
	public FieldList addFields(int... fieldIDs) {
		if (fieldIDs == null || fieldIDs.length == 0) {
			return this;
		}
		if (size() == 0) {
			return new FieldList(fieldIDs);
		} else {
			ArrayList<Integer> list = new ArrayList<Integer>(size() + fieldIDs.length);
			list.addAll(this.collection);
			for (int i = 0; i < fieldIDs.length; i++) {
				list.add(fieldIDs[i]);
			}
			
			return new FieldList(Collections.unmodifiableList(list));
		}
	}

	public  FieldList();
	public  FieldList(int fieldId);
	public  FieldList(Integer fieldId);
	public  FieldList(int... columnIndexes);
	private  FieldList(List<Integer> fields);

}