# File lib/rufus/scheduler/jobs.rb, line 439
      def first_at=(first)

        return (@first_at = nil) if first == nil

        n0 = Rufus::Scheduler::ZoTime.now
        n1 = n0 + 0.003

        first = n0 if first == :now || first == :immediately || first == 0

        @first_at = ZoTime.make(first)
        @first_at = n1 if @first_at >= n0 && @first_at < n1

        fail ArgumentError.new(
          "cannot set first[_at|_in] in the past: " +
          "#{first.inspect} -> #{@first_at.inspect}"
        ) if @first_at < n0

        @first_at
      end