docs: public static ISegment createJcseg( int mode, Object...args ) throws JcsegException 
      {
          Class<? extends ISegment> _clsname;
          switch ( mode ) {
          case JcsegTaskConfig.SIMPLE_MODE:
              _clsname = SimpleSeg.class;
              break;
          case JcsegTaskConfig.COMPLEX_MODE:
              _clsname = ComplexSeg.class;
              break;
          case JcsegTaskConfig.DETECT_MODE:
              _clsname = DetectSeg.class;
              break;
          case JcsegTaskConfig.SEARCH_MODE:
              _clsname = SearchSeg.class;
              break;
          case JcsegTaskConfig.DELIMITER_MODE:
              _clsname = DelimiterSeg.class;
              break;
          case JcsegTaskConfig.NLP_MODE:
              _clsname = NLPSeg.class;
              break;
          default:
              throw new JcsegException("No Such Algorithm Excpetion");
          }   
          
          Class<?>[] _paramtype = null;
          if ( args.length == 2 ) {
              _paramtype = new Class[]{JcsegTaskConfig.class, ADictionary.class};
          } else if ( args.length == 3 ) {
              _paramtype = new Class[]{Reader.class, JcsegTaskConfig.class, ADictionary.class};
          } else {
              throw new JcsegException("length of the arguments should be 2 or 3");
          }
          
          return createSegment(_clsname, _paramtype, args);
      }