QuerySpec qsObject = null;

	try{
		qsObject = new QuerySpec();

		int ii=qsObject.appendClassList(wt.doc.WTDocument.class,true);
		int j=qsObject.appendClassList(wt.project.Project.class,false);

		final String OID = Persistable.PERSIST_INFO + "." + PersistInfo.OBJECT_IDENTIFIER + "." + ObjectIdentifier.ID;
		final String PROJECT = "projectId" + "." + ObjectReference.KEY + "." + ObjectIdentifier.ID;

		String projectName="Project";
		//JOIN Condition: JOIN Project and WTDocument
		// The object identifier of the project being associated with the projectID of the WTDocument.

		qsObject.appendSearchCondition(new SearchCondition(Project.class, OID, wt.doc.WTDocument.class, PROJECT ), j, ii);
		qsObject.appendAnd();

		//ADDITIONAL condition such that the name of the project must be  equal to projectName
		qsObject.appendSearchCondition(new SearchCondition(Project.class,Project.NAME,SearchCondition.EQUAL, projectName),j,-1);

		QueryResult result = PersistenceHelper.manager.find(qsObject);
		System.out.println("size="+result.size());

		while(result.hasMoreElements()){
		Persistable[] obj = (Persistable[])result.nextElement();
		WTDocument pm = (WTDocument)obj[0];

		}
	}
	catch(QueryException e1){}
	catch(wt.util.WTException e2){}
