Here is an example of creating an InfoTable with two rows in it from scratch.
Each row has two columns, a customername and a customer number.
Here is an example:
// This example builds an InfoTable with a customer name and number in it
InfoTable it = new InfoTable();
DataShapeDefinition itShape = new DataShapeDefinition();
itShape.addFieldDefinition(new FieldDefinition("customername", BaseTypes.STRING));
itShape.addFieldDefinition(new FieldDefinition("invoicenumber", BaseTypes.NUMBER));
it.setDataShape(itShape);
ValueCollection itRow1 = new ValueCollection();
itRow1.put("customername", new StringPrimitive("Customer 1"));
itRow1.put("invoicenumber", new NumberPrimitive(34215346));
it.addRow(itRow1);
ValueCollection itRow2 = new ValueCollection();
itRow2.put("customername",new StringPrimitive("Customer 2"));
itRow2.put("invoicenumber",new NumberPrimitive(34213336));
it.addRow(itRow2);