public void save(String Filename)
  {
    Enumeration AllKeys;
    PrintStream FileOutput;
    String TempKey;
    ArrayList<String> TempList;
    boolean First = true;
    // Try incase file input fails
    try
    {
      FileOutput = new PrintStream(new FileOutputStream(Filename));
      FileOutput.print(FileUtils.escape(Name));
      // Go through all keys and write arraylist to file
      AllKeys = Records.keys();
      while (AllKeys.hasMoreElements())
      {
        TempKey = (String)AllKeys.nextElement();
        TempList = Records.get(TempKey);
        if (TempList.size() > 0)
        {
          FileOutput.println();
          FileOutput.println(FileUtils.escape(TempKey));
          for (int k=0; k<TempList.size(); k++)
          {
            FileOutput.print(FileUtils.escape(TempList.get(k)));
            if (k != TempList.size() -1)
              FileOutput.print(",");
          }
        }
      }
    }
    // Catch any errors from the writing to files
    catch (Exception TheError)
    {
      throw new Error(TheError);    
    }
  }