protected byte[] processMsdpList(final Session session, final String var, final Map<Object,Object> reportables) throws UnsupportedEncodingException, IOException
	{
		final ByteArrayOutputStream buf=new ByteArrayOutputStream();
		final MSDPListable type=(MSDPListable)CMath.s_valueOf(MSDPListable.class, var.toUpperCase().trim());
		if(type == null)
			return buf.toByteArray();
		switch(type)
		{
		case COMMANDS: buf.write(msdpListToMsdpArray(MSDPCommand.values())); break;
		case LISTS: buf.write(msdpListToMsdpArray(MSDPListable.values())); break;
		case CONFIGURABLE_VARIABLES: buf.write(msdpListToMsdpArray(MSDPConfigurableVar.values())); break;
		case REPORTABLE_VARIABLES: buf.write(msdpListToMsdpArray(MSDPVariable.values())); break;
		case REPORTED_VARIABLES:
		{
			final List<String> set=new Vector<String>(reportables.size());
			for(final Object o : reportables.keySet())
				set.add(o.toString());
			buf.write(msdpListToMsdpArray(set.toArray(new Object[0])));
			break;
		}
		case SENDABLE_VARIABLES: buf.write(msdpListToMsdpArray(MSDPVariable.values())); break;
		default: buf.write((byte)'?'); break;
		}
		return buf.toByteArray();
	}