docs: public MtasTokenizer create(AttributeFactory factory, String configuration, String defaultConfiguration)
        throws IOException {
      if(defaultConfiguration==null) {
        defaultConfiguration = defaultArgument;
      }
      if (configs != null && configs.size() > 0) {
        if (configuration == null && defaultConfiguration == null) {
          throw new IOException("no (default)configuration");
        } else if (configuration == null) {
          if (configs.get(defaultConfiguration) != null) {
            return new MtasTokenizer(factory, configs.get(defaultConfiguration));
          } else {
            throw new IOException(
                "default configuration " + defaultConfiguration + " not available");
          }
        } else {
          MtasConfiguration config = configs.get(configuration);
          if (config == null) {
            if (defaultConfiguration != null) {
              if (configs.get(defaultConfiguration) != null) {
                return new MtasTokenizer(factory, configs.get(defaultConfiguration));
              } else {
                throw new IOException("configuration " + configuration
                    + " not found and default configuration " + defaultConfiguration
                    + " not available");
              }
            } else {
              throw new IOException("configuration " + configuration
                  + " not available and no default configuration");
            }
          } else {
            return new MtasTokenizer(factory, config);
          }
        }
      } else if (config != null) {
        return new MtasTokenizer(factory, config);
      } else {
        throw new IOException("no configuration");
      }
    }