Erro ao executar addBarch() usando prepared statement com um dos parâmetros com valor null

o código é mais ou menos esse ai:

[code]String query = “insert into PESSOA (id, nome, data_nascimento, flag) values (sequnce.nextval,?,?,?)”;
PreparedStatement ps = conn.PreparedStatement(query);

while(rsOutoBanco.next()) {
String nome = rsOutroBanco.getString(“nome”);
String data = rsOutroBanco.getString(“data”);
String flag = rsOutroBanco.getString(“flag”);

if(nome == null)
ps.setNull(1, java.sql.Types.VARCHAR);
else
ps.setObject(1, nome);

if(data == null)
ps.setNull(2, java.sql.Types.DATE);
else
ps.setObject(2, data);

if(flag == null)
ps.setNull(3, Types.VARCHAR);
else
ps.setObject(3, flag);

ps.addBatch();
}

ps.executeBatch();

[/code]
o erro ocorre quanto tento setar algum valor com null. Quando uso addBatch não pode haver valores null no preparedStatement??

lançou a exception abaixo:

java.lang.NullPointerException
at oracle.jdbc.dbaccess.DBData.clearItem(DBData.java:431)
at oracle.jdbc.dbaccess.DBDataSetImpl.clearItem(DBDataSetImpl.java:3528)

    at oracle.jdbc.driver.OraclePreparedStatement.checkBindTypes(OraclePrepa

redStatement.java:3271)
at oracle.jdbc.driver.OraclePreparedStatement.setNull(OraclePreparedStat
ement.java:1322)