code: protected PdbPairsMessage getAlignmentPairsFromServer() {
  
  
  		String url = params.getServer();
  
  		int nrPairs = params.getStepSize();
  
  		if ( maxNrAlignments < nrPairs )
  			nrPairs = maxNrAlignments;
  
  		SortedSet<PdbPair> allPairs = new TreeSet<PdbPair>();
  
  		PdbPairsMessage msg = null;
  
  
  		try {
  
  			if ( progressListeners != null)
  				notifyRequestingAlignments(nrPairs);
  
  
  
  			if ( ! waitForAlignments) {
  				msg = JFatCatClient.getPdbPairs(url, nrPairs, userName);
  				allPairs = msg.getPairs();
  
  			} else {
  
  				while (allPairs.isEmpty()) {
  					msg = JFatCatClient.getPdbPairs(url, nrPairs, userName);
  					allPairs = msg.getPairs();
  
  					if (allPairs.isEmpty()) {
  						randomSleep();
  					}
  				}
  			}
  		} catch ( JobKillException k ){
  
  			logger.debug("Terminating job", k);
  			terminate();
  
  		} catch (Exception e) {
  			logger.error("Error while requesting alignment pairs", e);
  			// an error has occured sleep 30 sec.
  
  			randomSleep();
  
  
  		}
  
  		return msg;
  	}
docs: talk to centralized server and fetch all alignments to run.
  
  @return a list of pairs to align.