code: public static ScheduledFuture<?> scheduleAtFixedRate(Runnable command, long initialDelay, long period, TimeUnit unit) throws NotAvailableException, IllegalArgumentException, RejectedExecutionException {
          if (command == null) {
              throw new NotAvailableException("command");
          }
          return getInstance().executorService.scheduleAtFixedRate(command, initialDelay, period, unit);
      }
docs: @see java.util.concurrent.ScheduledExecutorService
  
  @param command the task to execute
  @param initialDelay the time to delay first execution
  @param period the period between successive executions
  @param unit the time unit of the initialDelay and period parameters
  @return a ScheduledFuture representing pending completion of the task, and whose {@code get()} method will throw an exception upon cancellation
  @throws RejectedExecutionException if the task cannot be scheduled for execution
  @throws NotAvailableException if command is null
  @throws IllegalArgumentException if period less than or equal to zero