public static KeyValueList loadConfigurationFile(String file) {
    { String temp000 = Stella.findFileInLoadPath(file, null);

      file = ((temp000 != null) ? temp000 : file);
    }
    Stella.ensureFileExists(file, "load-configuration-file");
    { KeyValueList configuration = KeyValueList.newKeyValueList();

      { InputFileStream in = null;

        try {
          in = Stella.openInputFile(file, Stella.NIL);
          { String line = null;
            LineIterator iter000 = InputStream.lines(in);

            while (iter000.nextP()) {
              line = iter000.value;
              { StringWrapper key = null;
                Wrapper value = null;
                Keyword operator = null;

                { Object [] caller_MV_returnarray = new Object[2];

                  key = Stella.parseConfigurationFileLine(line, caller_MV_returnarray);
                  value = ((Wrapper)(caller_MV_returnarray[0]));
                  operator = ((Keyword)(caller_MV_returnarray[1]));
                }
                if (key != null) {
                  if (operator == Stella.KWD_SET) {
                    Stella.setConfigurationProperty(key.wrapperValue, value, configuration);
                    Stella.setConfigurationProperty(key.wrapperValue, value, null);
                  }
                  else if (operator == Stella.KWD_ADD) {
                    Stella.addConfigurationProperty(key.wrapperValue, value, configuration);
                    Stella.addConfigurationProperty(key.wrapperValue, value, null);
                  }
                  else {
                    { OutputStringStream stream000 = OutputStringStream.newOutputStringStream();

                      stream000.nativeStream.print("`" + operator + "' is not a valid case option");
                      throw ((StellaException)(StellaException.newStellaException(stream000.theStringReader()).fillInStackTrace()));
                    }
                  }
                }
              }
            }
          }

        } finally {
          if (in != null) {
            in.free();
          }
        }
      }
      return (configuration);
    }
  }