experiment.setName(name);
if (namingScheme.validateField("name", experiment.getName())) {
params.addValue("name", name);
Number newId = insert.executeAndReturnKey(params);
if (newId.longValue() != experiment.getId()) {
log.error("Expected Experiment ID doesn't match returned value from database insert: rolling back...");
new NamedParameterJdbcTemplate(template).update(EXPERIMENT_DELETE, new MapSqlParameterSource().addValue("experimentId", newId.longValue()));
throw new IOException("Something bad happened. Expected Experiment ID doesn't match returned value from DB insert");
}