code: public static void bindScheduled(Binder binder, Reflections reflections) {
      Set<Class<?>> classes = reflections.getTypesAnnotatedWith(Scheduled.class, true);
      Set<Method> methods = reflections.getMethodsAnnotatedWith(Scheduled.class);
      Set<SchedulerTask> tasks = new HashSet<SchedulerTask>();
      for(Class<?> clazz : classes) {
        if(Runnable.class.isAssignableFrom(clazz)){
          tasks.add(new SchedulerTask(clazz));
        }
      }
      for(Method method : methods) {
        tasks.add(new SchedulerTask(method.getDeclaringClass(), method));
      }
      for(SchedulerTask task : tasks) {
        binder.requestInjection(task);
      }
      
      binder.bind(new TypeLiteral<Set<SchedulerTask>>(){}).toInstance(tasks);
    }
docs: Binds all Classes and methods Annotated with @Scheduled into a Guice Binder.
  
  @param binder
  @param reflections