/*******************************************************************************
 * Copyright (c) 2005, 2012 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/
package org.eclipse.bpel.ui.properties;

public class ForEachCounterValuesSection extends TwoSectionsHostSection {

	@Override
	protected BPELPropertySection initLeftSection() {
		return new ForEachStartCounterValueSection();
	}

	@Override
	protected BPELPropertySection initRightSection() {
		return new ForEachFinalCounterValueSection();
	}

}
