public function getStateIds()
 {
     $states = ContactState::getAll('order');
     $startingStateOrder = ContactsUtil::getStartingStateOrder($states);
     $stateIds = array();
     foreach ($states as $state) {
         if ($this->shouldIncludeState($state->order, $startingStateOrder)) {
             $stateIds[] = $state->id;
         }
     }
     return $stateIds;
 }
 public static function getStatesBeforeOrStartingWithStartingState($states)
 {
     assert('is_array($states)');
     $startingStateOrder = ContactsUtil::getStartingStateOrder($states);
     $statesAfterStartingState = array();
     foreach ($states as $state) {
         if (static::shouldIncludeState($state->order, $startingStateOrder)) {
             $statesAfterStartingState[] = $state;
         }
     }
     return $statesAfterStartingState;
 }