XPropertyQuery[] xpq = new XPropertyQuery[propInstances.size()];
byte[] tba = new byte[xpq.length * XPropertyQuery.sizeInBytes];
Iterator<TExportProperty> it = propInstances.iterator();
for (int i = 0; (it.hasNext()) && (i < xpq.length); i++)
{
xpq[i] = new XPropertyQuery((TExportProperty) it.next(), propInstances.size() - 1);
if ((lhr=getLocalHistoryRecord(xpq[i].prpName,"#0")) != null)
{
xpq[i].prpHistoryDepthLong = (short)lhr.getHspec().getDepthLong();
xpq[i].prpHistoryDepthShort = (short)lhr.getHspec().getDepthShort();
}
System.arraycopy(xpq[i].toByteArray(), 0, tba, i * XPropertyQuery.sizeInBytes,
XPropertyQuery.sizeInBytes);
}
return dout.putData(tba, "XPQS");
}
else
{ // want the whole list ...
String[] slst = new String[propertyList.countUniqueProperties()];
propertyList.getPropertyNames().toArray(slst);
XPropertyQuery[] xpq = new XPropertyQuery[slst.length];
if (slst.length == 0) break;
byte[] tba = new byte[slst.length * XPropertyQuery.sizeInBytes];
TExportProperty prp;
for (int i=0; i<slst.length; i++)
{
prp = propertyList.getFirstProperty(slst[i]);
xpq[i] = new XPropertyQuery(prp,1);
System.arraycopy(xpq[i].toByteArray(), 0, tba, i * XPropertyQuery.sizeInBytes,
XPropertyQuery.sizeInBytes);
}
return dout.putData(tba, "XPQS");
}