public static String getFilePathForResource( String resource )
	{
		URL u = new ResourceLoader().getClass().getResource( resource );
		// 20070107 KSC: report error
		if( u == null )
		{
			log.error( "ResourceLoader.getFilePathForResource: " + resource + " not found." );
			return null;
		}
			log.debug( "ResourceLoader.getFilePathForResource() got:" + u.toString() );
		String s = u.getFile();

			log.debug( "ResourceLoader.getFilePathForResource Decoding:" + s );
		s = ResourceLoader.Decode( s );
			log.debug( "ResourceLoader.getFilePathForResource Decoded:" + s );

		int i = s.indexOf( "!" );
		if( i > -1 )
		{ // file is in a jar
			String zipstring = s.substring( 0, i );

			//	cut off the internal zip file part & the file:/
			int begin = zipstring.indexOf( ":" );
			begin += 1;
			zipstring = zipstring.substring( begin );
			if( zipstring.indexOf( ":" ) != -1 )
			{ //windoze box
				if( zipstring.indexOf( "/" ) == 0 )
				{
					zipstring = zipstring.substring( 1 );
				}
			}

				log.debug( "Resourceloader.getFilePathForResource(): Successfully obtained " + zipstring );
			return zipstring;
		} // file is not in a jar

			log.error( "ResourceLoader.getFilePathForResource(): File is not in jar:" + s );
		return s;
	}