code: public Dispatcher getInstance() {
          try {
              return (Dispatcher) Class.forName(dispatcherImpl)
                      .getConstructor(Configuration.class).newInstance(conf);
          } catch (InstantiationException e) {
              throw new AssertionError(e);
          } catch (IllegalAccessException e) {
              throw new AssertionError(e);
          } catch (ClassNotFoundException e) {
              throw new AssertionError(e);
          } catch (ClassCastException e) {
              throw new AssertionError(e);
          } catch (NoSuchMethodException e) {
              throw new AssertionError(e);
          } catch (InvocationTargetException e) {
              throw new AssertionError(e);
          }
      }
docs: returns a Dispatcher instance.
  
  @return dispatcher instance