code: @Override
      public ConsoleEditor create(String flavor, Terminal terminal, InputStream in, PrintStream out) throws EditorInitializationException {
          if (flavorMap.containsKey(flavor)) {
              Class<? extends ConsoleEditor> editorClass = flavorMap.get(flavor);
              try {
                  return instantiate(editorClass, terminal, in, out);
              } catch (Exception e) {
                  throw new EditorInitializationException("Failed to create Editor instance of class:" + editorClass.getName(), e);
              }
          } else {
              Class<? extends ConsoleEditor> editorClass = resolve(flavor);
              if (editorClass != null) {
                  flavorMap.put(flavor, editorClass);
                  return create(flavor, terminal);
              } else {
                  throw new EditorInitializationException("Unknown flavor:" + flavor);
              }
          }
      }
docs: Creates a {@link ConsoleEditor} based on the specified flavor & {@link jline.Terminal}.
  
  @param flavor
  @param terminal
  @return
  @throws org.jledit.EditorInitializationException