List<Download.File> getFiles() throws InvalidRpcDataException {

        List<Download.File> list = new ArrayList<Download.File>();

        Object object = rawMap.get("files");

        if (object instanceof Object[]) {
            Object[] objectArray = (Object[]) object;

            for (Object fileObject : objectArray) {
                list.add(new Download.File(fileObject));
            }

        } else {
            throw new InvalidRpcDataException("Got wrong data structure when trying to parse raw Download data");
        }

        return list;
    }