+ DbSourceProxy proxy = sfetch.getSourceProxy((String) sources
+ .get(source));
+ if (proxy.getAccessionSeparator() == null)
+ {
+ while (en.hasMoreElements())
+ {
+ String item = (String) en.nextElement();
+ try
+ {
+ if (aresult != null)
+ {
+ try
+ {
+ // give the server a chance to breathe
+ Thread.sleep(5);
+ } catch (Exception e)
+ {
+ //
+ }
+
+ }
+
+ AlignmentI indres = null;
+ try
+ {
+ indres = proxy.getSequenceRecords(item);
+ } catch (OutOfMemoryError oome)
+ {
+ new OOMWarning(
+ "fetching " + item + " from "
+ + database.getSelectedItem(),oome,
+ this);
+ }
+ if (indres != null)
+ {
+ if (aresult == null)
+ {
+ aresult = indres;
+ }
+ else
+ {
+ aresult.append(indres);
+ }
+ }
+ } catch (Exception e)
+ {
+ jalview.bin.Cache.log.info("Error retrieving " + item
+ + " from " + source, e);
+ }
+ }
+ }
+ else
+ {
+ StringBuffer multiacc = new StringBuffer();
+ while (en.hasMoreElements())
+ {
+ multiacc.append(en.nextElement());
+ if (en.hasMoreElements())
+ {
+ multiacc.append(proxy.getAccessionSeparator());
+ }
+ }
+ try
+ {
+ aresult = proxy.getSequenceRecords(multiacc.toString());
+ } catch (OutOfMemoryError oome)
+ {
+ new OOMWarning(
+ "fetching " + multiacc + " from "
+ + database.getSelectedItem(),oome,
+ this);
+ }
+
+
+ }