public GenericImageStats doXMPObject(String filekey, XMPExtractor xmpex, XMPPropertyInfo xpi) {
		String tag = "";
		String val = "";
		
		TAGLOC tiffloc = TAGLOC.XMP;
		TAGTYPE tagtype = TAGTYPE.OTHER_XMP;
		NARAREQ narareq = NARAREQ.UNDECIDED;
		TAGCONTENT tagcontent = TAGCONTENT.UNDECIDED;
		DUP dupfield = DUP.NA;

		String[] path = new String[2];
		path[0] = xpi.getNamespace();
		path[1] = xpi.getPath();
		tag=xpi.getPath();
		if (tag == null) {
			return null;
		} else if (tag.endsWith("xml:lang")) {
			return null;
		} else if (tag.equals("")) {
			return null;
		} else {
			for(TAGS t: TAGS.values()){
				if ((t.tiffloc == TAGLOC.XMP) && tag.equals(t.path)) {
					tag = t.name();
					tagtype = t.tagtype;
					narareq = t.narareq;
					tagcontent = t.tagcontent;
					dupfield = t.dup;
					break;
				}
			}
			
			if (tagcontent == TAGCONTENT.CONTAINER) 
				return null;
			
			if (tagtype == TAGTYPE.OTHER_XMP) {
				tag=xpi.getPath()+" --> "+xpi.getNamespace();						
			}
			
			val = xmpex.getXMP(path);
			return new GenericImageStats(""+counter,filekey,tag,path[1],val,tiffloc,tagtype,narareq,tagcontent, dupfield);
		}
	}