RunIsAForecast <- function(clear=FALSE) {
## Checks globalenv() for an object named fakeToday and returns TRUE if that object is not NULL.
##   Otherwise, returns FALSE (ie, If the object does not exist or if it is NULL)
##
## This function guaranteed to always return TRUE or FALSE

  if (!(isTRUE(clear) || identical(clear, FALSE)))
    stop ("'clear' must be exactly TRUE or exactly FALSE")
  if (isTRUE(clear)) {
    assign("fakeToday", NULL, envir=globalenv())
    return (FALSE)
  }

  if (exists("fakeToday", envir=globalenv()) && !(is.null(fakeToday))) {
    ret <- get("fakeToday", envir=globalenv())
    if (!inherits(ret, "Date"))
      warning ("fakeToday exists but is NOT a date. It is of class:  c", pasteQ(is(fakeToday)))
    return (TRUE)
  }
  else
    return (FALSE)
}
