code: public void addMainHandler(Object handler, String prefix) {
          if (handler == null) {
              throw new NullPointerException();
          }
          allHandlers.add(handler);
  
          addDeclaredMethods(handler, prefix);
          inputConverter.addDeclaredConverters(handler);
          outputConverter.addDeclaredConverters(handler);
  
          if (handler instanceof ShellDependent) {
              ((ShellDependent)handler).cliSetShell(this);
          }
      }
docs: Method for registering command hanlers (or providers?)
  You call it, and from then the Shell has all commands declare in
  the handler object.
  
  This method recognizes if it is passed ShellDependent or ShellManageable
  and calls corresponding methods, as described in those interfaces.
  
  @see org.gearvrf.debug.cli.ShellDependent
  @see org.gearvrf.debug.cli.ShellManageable
  
  @param handler Object which should be registered as handler.
  @param prefix Prefix that should be prepended to all handler's command names.