/***************************************************************************************************
 * Copyright (c) 2003, 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
 * https://www.eclipse.org/legal/epl-2.0/

 * 
 * Contributors: IBM Corporation - initial API and implementation
 **************************************************************************************************/
package org.eclipse.wst.common.internal.emf.utilities;


public class Revisit {

	/**
	 * Revisit constructor comment.
	 */
	public Revisit() {
		super();
	}

	public static void revisit() {
	}


	public static void unComment() {
	}

	public static void toDo() {
	}

	public static void refactor() {
	}

	public static void removeDeprecatedMethod() {
	}

	public static void deleteMe() {
	}

	public static void reviewDesign() {
	}
}

