@Override
public Vector decode(InputStream data) throws DecodingException {
Integer constructor = intDecoder.decode(data);
Class containerClass = typeDecoders.get(constructor);
Decoder typeDecoder = decoderMap.get(containerClass);
int count = intDecoder.decode(data);
Vector output = new Vector();
for (int i = 0; i < count; ++i) {
Object element = typeDecoder.decode(data);
output.add(i, element);
}
return output;
}