public static OOXMLElement parseOOXML( XmlPullParser xpp, Stack<String> lastTag )
	{
		ArrayList<Gd> gds = null;
		try
		{
			int eventType = xpp.getEventType();
			while( eventType != XmlPullParser.END_DOCUMENT )
			{
				if( eventType == XmlPullParser.START_TAG )
				{
					String tnm = xpp.getName();
					if( tnm.equals( "gd" ) )
					{
						lastTag.push( tnm );
						if( gds == null )
						{
							gds = new ArrayList<>();
						}
						gds.add( (Gd) Gd.parseOOXML( xpp, lastTag ) );
					}
				}
				else if( eventType == XmlPullParser.END_TAG )
				{
					String endTag = xpp.getName();
					if( endTag.equals( "avLst" ) )
					{
						lastTag.pop();
						break;
					}
				}
				eventType = xpp.next();
			}
		}
		catch( Exception e )
		{
			log.error( "avLst.parseOOXML: " + e.toString() );
		}
		AvLst av = new AvLst( gds );
		return av;
	}