* @param options
   * @return String
   */
  public static String makeMatchingName(String original, Cons options) {
    { PropertyList self000 = PropertyList.newPropertyList();

      self000.thePlist = options;
      { PropertyList plist = self000;
        Keyword breakoncap = Stella.KWD_CLEVER;
        Keyword breakonnumber = Stella.KWD_CLEVER;
        String breakonseparators = "-_ ";
        String removeprefix = "";
        String removesuffix = "";
        String addprefix = "";
        String addsuffix = "";
        Keyword outputcase = Stella.KWD_TITLECASE;
        String outputseparator = "";

        Stella_Object.vetOptions(plist, Stella.getQuotedTree("((:BREAK-ON-CAP :BREAK-ON-NUMBER :BREAK-ON-SEPARATORS :REMOVE-PREFIX :REMOVE-SUFFIX :ADD-PREFIX :ADD-SUFFIX :CASE :SEPARATOR) \"/STELLA\")", "/STELLA"));
        { Stella_Object key = null;
          Stella_Object value = null;
          Cons iter000 = plist.thePlist;

          for (;!(iter000 == Stella.NIL); iter000 = iter000.rest.rest) {
            key = iter000.value;
            value = iter000.rest.value;
            { GeneralizedSymbol testValue000 = ((GeneralizedSymbol)(key));

              if (testValue000 == Stella.KWD_BREAK_ON_CAP) {
                if (value != null) {
                  breakoncap = ((Keyword)(value));
                }
                else {
                  breakoncap = Stella.KWD_NO;
                }
              }
              else if (testValue000 == Stella.KWD_BREAK_ON_NUMBER) {
                if (value != null) {
                  breakonnumber = ((Keyword)(value));
                }
                else {
                  breakonnumber = Stella.KWD_NO;
                }
              }
              else if (testValue000 == Stella.KWD_BREAK_ON_SEPARATORS) {
                breakonseparators = ((StringWrapper)(value)).wrapperValue;
              }
              else if (testValue000 == Stella.KWD_REMOVE_PREFIX) {
                removeprefix = ((StringWrapper)(value)).wrapperValue;
              }
              else if (testValue000 == Stella.KWD_REMOVE_SUFFIX) {
                removesuffix = ((StringWrapper)(value)).wrapperValue;
              }
              else if (testValue000 == Stella.KWD_ADD_PREFIX) {
                addprefix = ((StringWrapper)(value)).wrapperValue;
              }
              else if (testValue000 == Stella.KWD_ADD_SUFFIX) {
                addsuffix = ((StringWrapper)(value)).wrapperValue;
              }
              else if (testValue000 == Stella.KWD_CASE) {
                outputcase = ((Keyword)(value));
              }
              else if (testValue000 == Stella.KWD_SEPARATOR) {
                outputseparator = ((StringWrapper)(value)).wrapperValue;
              }
              else {
                { OutputStringStream stream000 = OutputStringStream.newOutputStringStream();

                  stream000.nativeStream.print("`" + testValue000 + "' is not a valid case option");
                  throw ((StellaException)(StellaException.newStellaException(stream000.theStringReader()).fillInStackTrace()));
                }
              }
            }
          }
        }
        return (Stella.makeMatchingNameFull(original, breakoncap, breakonnumber, breakonseparators, removeprefix, removesuffix, addprefix, addsuffix, outputcase, outputseparator));
      }
    }
  }