/**
  * @param bool $includePositiveDuration
  * @param bool $includeNegativeDuration
  * @param bool $isTimeBased
  * @param bool $includeHours
  * @return array
  * @throws NotSupportedException
  */
 protected function makeDurationValuesAndLabels($includePositiveDuration = false, $includeNegativeDuration = false, $isTimeBased = false, $includeHours = true)
 {
     assert('is_bool($includePositiveDuration)');
     assert('is_bool($includeNegativeDuration)');
     assert('is_bool($isTimeBased)');
     assert('is_bool($includeHours)');
     $data = array();
     if ($includeNegativeDuration) {
         if ($isTimeBased) {
             WorkflowUtil::resolveNegativeDurationAsDistanceFromPointData($data, $includeHours);
         } else {
             throw new NotSupportedException();
         }
     }
     if ($includePositiveDuration) {
         if ($isTimeBased) {
             WorkflowUtil::resolvePositiveDurationAsDistanceFromPointData($data, $includeHours);
         } else {
             WorkflowUtil::resolvePositiveDurationData($data, $includeHours);
         }
     }
     return $data;
 }