code: protected Runnable getPollingRunnable(final PolledConfigurationSource source, final Configuration config) {
          return new Runnable() {
              public void run() {
                  log.debug("Polling started");
                  PollResult result = null;
                  try {
                      result = source.poll(false, getNextCheckPoint(checkPoint));
                      checkPoint = result.getCheckPoint();
                      fireEvent(EventType.POLL_SUCCESS, result, null);
                  } catch (Throwable e) {
                      log.error("Error getting result from polling source", e);
                      fireEvent(EventType.POLL_FAILURE, null, e);
                      return;
                  }
                  try {
                      populateProperties(result, config);
                  } catch (Throwable e) {
                      log.error("Error occured applying properties", e);
                  }                 
              }
              
          };   
      }
docs: Gets the runnable to be scheduled. The implementation does the following
  <li>Gets the next check point
  <li>call source.poll(fase, checkpoint)
  <li>fire event for poll listeners
  <li>If success, update the configuration with the polled result
  
  @return Runnable to be scheduled in {@link #schedule(Runnable)}