/* Build a HashMap of task fields and associated values.
  */
 public HashMap<String, String> getTaskAttributes() {
   taskAttributesMap.put(AbstractController.KEY_ROWID, getTaskIdentifier().idAsString());
   taskAttributesMap.put(NAME, getName());
   taskAttributesMap.put(IMPORTANCE, getImportance().toString());
   taskAttributesMap.put(ELAPSED_SECONDS, getElapsedSeconds().toString());
   taskAttributesMap.put(ESTIMATED_SECONDS, getEstimatedSeconds().toString());
   safePutDate(TIMER_START, getTimerStart());
   safePutDate(DEFINITE_DUE_DATE, getDefiniteDueDate());
   safePutDate(PREFERRED_DUE_DATE, getPreferredDueDate());
   taskAttributesMap.put(NOTIFICATIONS, getNotificationIntervalSeconds().toString());
   taskAttributesMap.put(PROGRESS_PERCENTAGE, Integer.toString(getProgressPercentage()));
   safePutDate(COMPLETION_DATE, getCompletionDate());
   safePutDate(CREATION_DATE, getCreationDate());
   safePutDate(HIDDEN_UNTIL, getHiddenUntil());
   taskAttributesMap.put(NOTES, getNotes());
   RepeatInfo repeat = getRepeat();
   if (repeat != null) {
     taskAttributesMap.put(REPEAT_VALUE, Integer.toString(repeat.getValue()));
     taskAttributesMap.put(REPEAT_INTERVAL, repeat.getInterval().toString());
   }
   taskAttributesMap.put(FLAGS, Integer.toString(getFlags()));
   taskAttributesMap.put(POSTPONE_COUNT, getPostponeCount().toString());
   taskAttributesMap.put(BLOCKING_ON, Long.toString(getBlockingOn().getId()));
   safePutDate(LAST_NOTIFIED, getLastNotificationDate());
   taskAttributesMap.put(NOTIFICATION_FLAGS, Integer.toString(getNotificationFlags()));
   String calendarUri = getCalendarUri();
   if (calendarUri != null) {
     taskAttributesMap.put(CALENDAR_URI, calendarUri);
   }
   return taskAttributesMap;
 }