The following logic for ImportFilter::filterRow works (at least for my scenario in which I don't use empty strings)...
public Object[] filterRow(Object[] row) throws SQLException, IOException {
Object[] lclReturn = new Object[row.length];
for (int i = 0; i < row.length; i++) {
Object lclObject = row[i];
if (lclObject != null) {
if (!"".equals(lclObject.toString().trim())) {
lclReturn[i] = lclObject;
} else {
lclReturn[i] = null;
}
} else {
lclReturn[i] = null;
}
}
return lclReturn;
}