package org.eclipse.jst.jee.ui.internal.navigator.ear;

import org.eclipse.jst.javaee.core.JavaEEObject;
import org.eclipse.jst.jee.ui.internal.navigator.AbstractGroupProvider;

public abstract class AbstractEarGroupProvider extends AbstractGroupProvider {

	public AbstractEarGroupProvider(JavaEEObject javaee) {
		super(javaee);
	}
}
