/*[deutsch]
<p>Liefert das Endedatum. </p>

@return  end date or {@code null} if infinite
@see     Boundary#isInfinite()
@since   4.11
433867
public LocalDate getEndAsLocalDate() {

        PlainDate date = this.getEndAsCalendarDate();
        return ((date == null) ? null : date.toTemporalAccessor());

    }
226155
public SqlInfo end() {
        SqlInfo sqlInfo = this.source.getSqlInfo();
        sqlInfo.setSql(StringHelper.replaceBlank(sqlInfo.getJoin().toString()));
        SqlInfoPrinter.newInstance().printZealotSqlInfo(sqlInfo, false, null, null);
        return sqlInfo;
    }
1034000
public final String getFinishFormattedMedium() {
        Granularity finishGran = this.interval.getFinishGranularity();
        return formatFinish(finishGran != null ? finishGran.getMediumFormat()
                : null);
    }
827587
@Synchronized
    public boolean isEndOfData() {
        return futureSegments.isEmpty() && unassignedSegments.isEmpty() &&
                assignedSegments.values().stream().allMatch(Map::isEmpty);
    }
91226
public long getDateLastModified() {

        int pos = m_flexContextInfoList.size() - 1;
        if (pos < 0) {
            // ensure a valid position is used
            return CmsResource.DATE_RELEASED_DEFAULT;
        }
        return (m_flexContextInfoList.get(pos)).getDateLastModified();
    }
1350088
public static boolean isBetween(@NotNull final Date date, @NotNull final Date start, @NotNull final Date end) {
		if (date == null || start == null || end == null || start.after(end)) {
			throw new IllegalArgumentException("some date parameters is null or dateBein after dateEnd");
		}
		return !date.before(start) && !date.after(end);
	}
210219
@Override
  public Date getFinalFireTime ()
  {
    Date resultTime;
    if (getEndTime () != null)
    {
      resultTime = getTimeBefore (new Date (getEndTime ().getTime () + 1000l));
    }
    else
    {
      resultTime = (m_aCronEx == null) ? null : m_aCronEx.getFinalFireTime ();
    }

    if ((resultTime != null) && (getStartTime () != null) && (resultTime.before (getStartTime ())))
    {
      return null;
    }

    return resultTime;
  }
325871
@Override
  public Date getFinalFireTime() {

    if (repeatCount == 0) {
      return startTime;
    }

    if (repeatCount == REPEAT_INDEFINITELY) {
      return (getEndTime() == null) ? null : getFireTimeBefore(getEndTime());
    }

    long lastTrigger = startTime.getTime() + (repeatCount * repeatInterval);

    if ((getEndTime() == null) || (lastTrigger < getEndTime().getTime())) {
      return new Date(lastTrigger);
    } else {
      return getFireTimeBefore(getEndTime());
    }
  }
1272113
public End<Flow<T>> getOrCreateEnd()
   {
      List<Node> nodeList = childNode.get("end");
      if (nodeList != null &&  nodeList.size() > 0)
      {
         return new EndImpl<Flow<T>>(this, "end", childNode, nodeList.get(0));
      }
      return createEnd();
   }
559451
public Date getFrom() {
        final TimeInterval first = intervals.first();
        if (first != null) {
            return new Date(first.getFrom());
        }
        return null;
    }
123698
public String getEndTimex() {
    if (Timex3Interval_Type.featOkTst && ((Timex3Interval_Type)jcasType).casFeat_endTimex == null)
      jcasType.jcas.throwFeatMissing("endTimex", "de.unihd.dbs.uima.types.heideltime.Timex3Interval");
    return jcasType.ll_cas.ll_getStringValue(addr, ((Timex3Interval_Type)jcasType).casFeatCode_endTimex);}
985860
@Override
    public long until(Temporal endExclusive, TemporalUnit unit) {
        Objects.requireNonNull(endExclusive, "endExclusive");
        @SuppressWarnings("unchecked")
        ChronoZonedDateTime<D> end = (ChronoZonedDateTime<D>) getChronology().zonedDateTime(endExclusive);
        if (unit instanceof ChronoUnit) {
            end = end.withZoneSameInstant(offset);
            return dateTime.until(end.toLocalDateTime(), unit);
        }
        Objects.requireNonNull(unit, "unit");
        return unit.between(this, end);
    }
778091
public E removeLast () {
		if (size > 0) {
			E e = data[--size];
			data[size] = null;
			return e;
		}

		return null;
	}
729736
public Calendar getEnd() {
		Calendar cal = Calendar.getInstance();
		cal.setTimeInMillis(end);
		return cal;
	}
1019233
public Date getExpirationDateAsDate()
  {
    if (hasExpirationDate())
    {
      final LocalDateTime endOfMonth = expirationDate.atEndOfMonth()
        .atStartOfDay().plus(1, ChronoUnit.DAYS).minus(1, ChronoUnit.NANOS);
      final Instant instant = endOfMonth.atZone(ZoneId.systemDefault())
        .toInstant();
      final Date date = new Date(instant.toEpochMilli());
      return date;
    }
    else
    {
      return null;
    }
  }
711597
public function end()
    {
        if ($this->_limit === null) {
            return $this->seek(0, SEEK_END);
        } else {
            return $this->seek($this->_start + $this->_limit);
        }
    }
1308812
public EncodedElement getEnd() {
    EncodedElement temp = next;
    EncodedElement end = this;
    while(temp != null) {
      end = temp;
      temp = temp.next;
    }
    return end;
  }