private <T extends StoreClause<T>> T setWorklogFields(final T storeClause, final Worklog worklog)
{
checkArgument(worklog != null, "Cannot store a null worklog.");
checkArgument(worklog.getIssue() != null, "Cannot store a worklog against a null issue.");
return storeClause.set(WORKLOG.issue, worklog.getIssue().getId())
.set(WORKLOG.author, worklog.getAuthorKey())
.set(WORKLOG.updateauthor, worklog.getUpdateAuthorKey())
.set(WORKLOG.body, worklog.getComment())
.set(WORKLOG.grouplevel, worklog.getGroupLevel())
.set(WORKLOG.rolelevel, worklog.getRoleLevelId())
.set(WORKLOG.timeworked, worklog.getTimeSpent())
.set(WORKLOG.startdate, new Timestamp(worklog.getStartDate().getTime()))
.set(WORKLOG.created, new Timestamp(worklog.getCreated().getTime()))
.set(WORKLOG.updated, new Timestamp(worklog.getUpdated().getTime()));
}