private Entry[] fetch(URL url) throws IOException, Exception
public Entry[] fetch(URL[] urls) throws OperationException
    private Entry[] fetch(URL url) throws IOException, Exception    {        LOG.debug("Opening connection to URL "+url);        Resource resource = fetcher.fetchResource(url);                LOG.debug("Got Reponse Code "+resource.getResponseCode()+" for URL "+url);        // TODO respect HTTP response codes here, especially 301 (moved permanently) and 4xx and 5xx                ContentTypeProcessor proc = getProcessor(resource.getContentType());         LOG.debug("Using Processor "+proc);        Entry[] entries = null;        if ( proc == null )            entries = new Entry[] { new Entry(url) };        else            entries = proc.process(url, resource.getStream(), resource.getContentEncoding());               Date modDate = new Date(resource.getLastModified());        Date now = new Date();                List returnArr  = new ArrayList();        for (int i = 0; i < entries.length; i++) {            if ( entries[i] == null )                 continue;            URL entryUrl = entries[i].getUrl();                        String title = entries[i].getTitle();            if ( title == null || "".equals(title) )                 entries[i].setTitle(entryUrl.toString());                        if ( entries[i].getModified() == null )                entries[i].setModified(modDate);                        if ( entries[i].getIssued() == null )                 entries[i].setIssued(modDate);            if ( entries[i].getAdded() == null )                 entries[i].setAdded(now);            String fileType = entries[i].getFileType();            if ( fileType == null || "".equals(fileType) ) {                              int dotIndex = entryUrl.getPath().lastIndexOf(".");                if ( dotIndex != -1 ) {                    String type = entryUrl.getPath().substring(dotIndex+1);                    entries[i].setFileType(type.toLowerCase());                    LOG.debug("Filetype is subsequently set to '"+type+"'");                }                            }            returnArr.add(entries[i]);            entries[i] = null;        }        return (Entry[]) returnArr.toArray(new Entry[0]);    }