/**
  * @param string $string
  * @return SingleDayTimeBoundary
  */
 protected static function parseBoundary(string $string) : Boundary
 {
     list($elementString, $state) = self::parseBoundaryDataFromString($string);
     return new SingleDayTimeBoundary(SingleDayTime::from($elementString), $state);
 }
 /**
  * @param string $from
  * @param string $till
  * @return SingleDayTimeInterval
  */
 public static function fromString(string $from, string $till) : SingleDayTimeInterval
 {
     return new static(new SingleDayTimeBoundary(SingleDayTime::from($from), Boundary::CLOSED), new SingleDayTimeBoundary(SingleDayTime::from($till), Boundary::OPENED));
 }
 /**
  * @param \DateTime|string|int $element
  * @param bool $state
  * @return SingleDayTimeBoundary
  */
 public static function create($element, bool $state) : SingleDayTimeBoundary
 {
     return new SingleDayTimeBoundary(SingleDayTime::from($element), $state);
 }