public static String selectExampleDemoFromMenu() {
    System.out.println("Choose a demo:");
    { Cons entry = null;
      Cons iter000 = Logic.$DEMO_FILES$;
      int i = Stella.NULL_INTEGER;
      int iter001 = 1;

      for (;!(iter000 == Stella.NIL); iter000 = iter000.rest, iter001 = iter001 + 1) {
        entry = ((Cons)(iter000.value));
        i = iter001;
        System.out.print("       " + i + ".  ");
        if (i < 10) {
          System.out.print(" ");
        }
        System.out.println(Logic.demoEntryDescription(entry));
      }
    }
    System.out.println("       Q.   Quit demoing");
    System.out.print("Your choice: ");
    { Stella_Object selection = InputStream.readSExpression(Stella.STANDARD_INPUT, new Object[1]);
      String file = null;

      if (Surrogate.subtypeOfIntegerP(Stella_Object.safePrimaryType(selection))) {
        { IntegerWrapper selection000 = ((IntegerWrapper)(selection));

          file = Logic.selectExampleDemo(selection000.wrapperValue);
          if (file != null) {
            return (file);
          }
        }
      }
      else {
        if (Stella.stringEqualP(Native.stringify(selection), "Q")) {
          return (null);
        }
      }
      {
        System.out.println(">> ERROR: Illegal choice `" + selection + "'; enter a number between 1 and " + Logic.$DEMO_FILES$.length() + "!");
        System.out.println();
      }
;
      return (Logic.selectExampleDemoFromMenu());
    }
  }