code: public static Shell createSubshell(String pathElement, Shell parent, String appName, Object mainHandler) {
          return createSubshell(pathElement, parent, appName, mainHandler, new EmptyMultiMap<String, Object>());
      }
docs: Facade method facilitating the creation of subshell.
  Subshell is created and run inside Command method and shares the same IO and naming strtategy.
  
  Run the obtained Shell with commandLoop().
  
  @param pathElement sub-prompt
  @param parent Shell to be subshell'd
  @param appName The app name string
  @param mainHandler Command handler
  @return subshell