private void handle(Resource res) {
            InputStream in = null;
            try {
                res.error = null;
                res.source = src;
                try {
                    try {
                        in = src.get(res.name);
                        res.load(in);
                        res.loading = false;
                        res.notifyAll();
                        return;
                    } catch (IOException e) {
                        throw (new LoadException(e, res));
                    }
                } catch (LoadException e) {
                    if (next == null) {
                        res.error = e;
                        res.loading = false;
                        res.notifyAll();
                    } else {
                        next.load(res);
                    }
                } catch (RuntimeException e) {
                    throw (new LoadException(e, res));
                }
            } finally {
                try {
                    if (in != null)
                        in.close();
                } catch (IOException e) {
                }
            }
        }