package com.sun.jdi;

/*
 * (c) Copyright IBM Corp. 2000, 2001.
 * All Rights Reserved.
 */

public class InconsistentDebugInfoException extends RuntimeException {
	public InconsistentDebugInfoException() { }
	public InconsistentDebugInfoException(String arg1) {
		super(arg1);
	}
}