package org.eclipse.jst.jee.ui.internal.navigator.ra;

import org.eclipse.jst.javaee.core.JavaEEObject;
import org.eclipse.jst.jee.ui.internal.navigator.AbstractGroupProvider;

public abstract class AbstractConnectorGroupProvider extends AbstractGroupProvider {

	public AbstractConnectorGroupProvider(JavaEEObject javaee) {
		super(javaee);
	}

}
