@Override
	public void restore() throws PersistenceException
	{
		isRestoring=true;
		if(myobj instanceof Intermud)
		{
			try
			{
				final CMFile F=new CMFile("resources/ppeer."+myID,null);
				if(!F.exists()) return;

				final ObjectInputStream in=new ObjectInputStream(new ByteArrayInputStream(F.raw()));
				Object newobj;
				newobj=in.readObject();
				if(newobj instanceof Integer)
					((Intermud)myobj).password=((Integer)newobj).intValue();
				newobj=in.readObject();
				if(newobj instanceof Hashtable)
					((Intermud)myobj).banned=(Hashtable)newobj;
				newobj=in.readObject();
				if(newobj instanceof ChannelList)
					((Intermud)myobj).channels=(ChannelList)newobj;
				newobj=in.readObject();
				if(newobj instanceof MudList)
					((Intermud)myobj).muds=(MudList)newobj;
				newobj=in.readObject();
				if(newobj instanceof List)
				((Intermud)myobj).name_servers=(List)newobj;
			}
			catch(final Exception e)
			{
				Log.errOut("IMudPeer","Unable to read /resources/ppeer."+myID);
			}
		}
		isRestoring=false;
	}