}
public void insert(final T newrec) throws HBqlException {
if (newrec instanceof HRecordImpl) {
final HRecordImpl record = (HRecordImpl)newrec;
final TableMapping tableMapping = record.getTableMapping();
final ColumnAttrib keyAttrib = tableMapping.getKeyAttrib();
if (!record.isCurrentValueSet(keyAttrib))
throw new HBqlException("Record key value must be assigned");
final Put put = this.createPut(record.getResultAccessor(), record);
this.getActionList(tableMapping.getTableName()).add(new InsertAction(put));
}
else {
final AnnotationResultAccessor accessor = this.getHConnectionImpl().getAnnotationMapping(newrec);
final Put put = this.createPut(accessor, newrec);