public void load ()
      {
        synchronized (slotsMutex)
          {
            for (int i = 0; i < slots.length; i++)
              {
                String slot = properties.getProperty("slot" + i, "null");
                if ( !slot.equals("null"))
                  {
                    try
                      {
                        slots[i] = Spell.valueOf(slot);
                      }
                    catch (IllegalArgumentException e)
                      {
                        properties.setProperty("slot" + i, "null");
                      }
                  }
              }
          }
        for (Spell.Type type : Spell.Type.values())
          {
            levels.put(type,
                Integer.parseInt(properties.getProperty(type.toString(), "1")));
            levelExp.put(
                type,
                Integer.parseInt(properties.getProperty(type.toString()
                    + "-EXP", "0")));
          }
      }