@Override
@Transactional(readOnly=false,noRollbackFor={DoesNotExistException.class},rollbackFor={Throwable.class})
public RefStatementRelationInfo updateRefStatementRelation(final String refStatementRelationId, final RefStatementRelationInfo refStatementRelationInfo)
throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, VersionMismatchException {
checkForNullOrEmptyParameter(refStatementRelationId, "refStatementRelationId");
checkForMissingParameter(refStatementRelationInfo, "refStatementRelationInfo");
refStatementRelationInfo.setId(refStatementRelationId);
RefStatementRelation refStatementRel = statementAssembler.toRefStatementRelation(true, refStatementRelationInfo);
RefStatementRelation updatedRefStatementRel = statementDao.update(refStatementRel);
RefStatementRelationInfo dto = StatementAssembler.toRefStatementRelationInfo(updatedRefStatementRel);
return dto;
}