public static URL getURL(Locator locator)
throws NotLoadedException, InvalidLocatorException,
FileNotFoundException
{
BDLocator bdl = checkLocator(locator);
if (bdl == null)
throw new InvalidLocatorException("invalid BDLocator");
if (bdl.isJarFileItem()) {
String mountPt = MountManager.getMount(bdl.getJarFileId());
if (mountPt == null)
throw new NotLoadedException();
DSMCCObject obj = new DSMCCObject(mountPt, bdl.getPathSegments());
if (!obj.exists())
throw new FileNotFoundException();
return obj.getURL();