public static int getExpressionLocByLocation( String loc, Stack expression ) throws FormulaNotFoundException
	{

		for( int i = 0; i < expression.size(); i++ )
		{
			Object o = expression.elementAt( i );
			if( o == null )
			{
				throw new FormulaNotFoundException( "Couldn't get Ptg at: " + loc );
			}
			if( o instanceof Byte )
			{
				// do nothing
			}
			else if( o instanceof Ptg )
			{
				Ptg part = (Ptg) o;
				String lo = part.getLocation();
				if( loc.equalsIgnoreCase( lo ) )
				{
					return i;
				}
				// try full location
				lo = part.toString();
				if( loc.equalsIgnoreCase( lo ) )
				{
					return i;
				}
				if( o instanceof PtgArea )
				{// gotta look into the first & last
					Ptg first = ((PtgArea) o).getFirstPtg();
					Ptg last = ((PtgArea) o).getLastPtg();
					if( first.getLocation().equalsIgnoreCase( loc ) )
					{
						return i;
					}
					if( last.getLocation().equalsIgnoreCase( loc ) )
					{
						return i;
					}
				}
			}
		}
		return -1;
	}