// Path: src/main/java/org/robotframework/formslibrary/chooser/ByComponentFreeTypeChooser.java
// public class ByComponentFreeTypeChooser implements ComponentChooser {
// 
// 	private String type;
// 	private int index;
// 
// 	/**
// 	 * @param index
// 	 *            Specifies which occurrence of the component in the context to
// 	 *            select. Use -1 to select all occurrences.
// 	 * @param type
// 	 *            Specifies which component types to include.
// 	 */
// 	public ByComponentFreeTypeChooser(int index, String type) {
// 		this.index = index;
// 		this.type = type;
// 	}
// 
// 	@Override
// 	public boolean checkComponent(Component component) {
// 
// 		if (type.matches(component.getClass().getName()) && component.isShowing()) {
// 			if (index <= 0) {
// 				return true;
// 			} else {
// 				index--;
// 			}
// 		}
// 		return false;
// 	}
// 
// 	@Override
// 	public String getDescription() {
// 		return type;
// 	}
// 
// }


import org.robotframework.formslibrary.chooser.ByComponentFreeTypeChooser;
import org.robotframework.swing.context.ContainerOperator;
import org.robotframework.swing.context.Context;

package org.robotframework.formslibrary.operator;


/**
 * Operator for working with Panels.
 */
public class PanelOperator extends ContainerOperator {

	/**
	 * Initialize a PanelOperator with the given type in the current context.
	 * 
	 * @param type
	 *            class type of the panel.
	 */
	public PanelOperator(String type) {

// Path: src/main/java/org/robotframework/formslibrary/chooser/ByComponentFreeTypeChooser.java
// public class ByComponentFreeTypeChooser implements ComponentChooser {
// 
// 	private String type;
// 	private int index;
// 
// 	/**
// 	 * @param index
// 	 *            Specifies which occurrence of the component in the context to
// 	 *            select. Use -1 to select all occurrences.
// 	 * @param type
// 	 *            Specifies which component types to include.
// 	 */
// 	public ByComponentFreeTypeChooser(int index, String type) {
// 		this.index = index;
// 		this.type = type;
// 	}
// 
// 	@Override
// 	public boolean checkComponent(Component component) {
// 
// 		if (type.matches(component.getClass().getName()) && component.isShowing()) {
// 			if (index <= 0) {
// 				return true;
// 			} else {
// 				index--;
// 			}
// 		}
// 		return false;
// 	}
// 
// 	@Override
// 	public String getDescription() {
// 		return type;
// 	}
// 
// }


// Path: src/main/java/org/robotframework/formslibrary/operator/PanelOperator.java
import org.robotframework.formslibrary.chooser.ByComponentFreeTypeChooser;
import org.robotframework.swing.context.ContainerOperator;
import org.robotframework.swing.context.Context;

package org.robotframework.formslibrary.operator;


/**
 * Operator for working with Panels.
 */
public class PanelOperator extends ContainerOperator {

	/**
	 * Initialize a PanelOperator with the given type in the current context.
	 * 
	 * @param type
	 *            class type of the panel.
	 */
	public PanelOperator(String type) {

		super((org.netbeans.jemmy.operators.ContainerOperator) Context.getContext(), new ByComponentFreeTypeChooser(0, type));
