/***************************************************************************************************
 * Copyright (c) 2001, 2004 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.wst.validation.internal;


public final class ToDo {
	private ToDo() {
		super();
	}

	public static void changeToPackageVisibility() {
		// Once the internal classes are out of the public package, change this method to package
		// visibility.
	}

	public static void moveToInternal() {
		// Move this class to the internal package
		// Move this method to a class in the internal package
	}
}