@Override
@Transactional(readOnly=false,noRollbackFor={DoesNotExistException.class},rollbackFor={Throwable.class})
public StatementInfo updateStatement(final String statementId, final StatementInfo statementInfo) throws CircularReferenceException, DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, VersionMismatchException {
checkForMissingParameter(statementId, "statementId");
checkForMissingParameter(statementInfo, "statementInfo");
statementInfo.setId(statementId);
Statement stmt = statementAssembler.toStatementRelation(true, statementInfo);
Statement updatedStmt = statementDao.update(stmt);
StatementInfo updStatementInfo = StatementAssembler.toStatementInfo(updatedStmt);
return updStatementInfo;
}