/*******************************************************************************
 * Copyright (c) 2018 Willink Transformations and others.
 * All rights reserved.   This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v2.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v20.html
 *
 * Contributors:
 *   E.D.Willink - Initial API and implementation
 *******************************************************************************/
package org.eclipse.ocl.xtext.base.utilities;

import org.eclipse.jdt.annotation.NonNull;

@Deprecated /* @deprecated moved to org.eclipse.ocl.pivot.resource.NotXMLContentHandlerImpl */
public class NotXMLContentHandlerImpl extends org.eclipse.ocl.pivot.resource.NotXMLContentHandlerImpl
{
	public NotXMLContentHandlerImpl(@NonNull String @NonNull [] extensions) {
		super(extensions);
	}
}