@SuppressWarnings("unchecked")
	private void readObject(ObjectInputStream ois) throws ClassNotFoundException, IOException
	{
		this.version = USER_VERSION;
		int version = ois.readInt();
		if(version >= 2 && version < 3)
		{
			this.username = ois.readUTF();
			this.stats_normal = readArrayStats((ArrayList<Stats>) ois.readObject());
			this.stats_taiko = readArrayStats((ArrayList<Stats>) ois.readObject());
			this.stats_ctb = readArrayStats((ArrayList<Stats>) ois.readObject());
			this.stats_mania = readArrayStats((ArrayList<Stats>) ois.readObject());
		}
		else if(version >= 3)
		{
			this.username = ois.readUTF();
			this.stats_normal = (HashMap<Long, Stats>) ois.readObject();
			this.stats_taiko = (HashMap<Long, Stats>) ois.readObject();
			this.stats_ctb = (HashMap<Long, Stats>) ois.readObject();
			this.stats_mania = (HashMap<Long, Stats>) ois.readObject();
		}
		if(this.stats_normal == null)
			this.stats_normal = new HashMap<>();
		if(this.stats_taiko == null)
			this.stats_taiko = new HashMap<>();
		if(this.stats_ctb == null)
			this.stats_ctb = new HashMap<>();
		if(this.stats_mania == null)
			this.stats_mania = new HashMap<>();
	}