public static TransferListener getInstance(String xferId, AsperaTransaction transaction) {
		if(instance == null) {
			instance = new TransferListener();
		}

		if(transactions.get(xferId) != null) {
			transactions.get(xferId).add(transaction);
		} else {
			List<AsperaTransaction> transferTransactions = new ArrayList<AsperaTransaction>();
			transferTransactions.add(transaction);
			transactions.put(xferId, transferTransactions);
		}

		return instance;
	}
public static TransferListener getInstance ( String xferId , AsperaTransaction transaction ) { if ( instance == null ) { instance = new TransferListener ( ) ; } if ( transactions . get ( xferId ) != null ) { transactions . get ( xferId ) . add ( transaction ) ; } else { List < AsperaTransaction > transferTransactions = new ArrayList < AsperaTransaction > ( ) ; transferTransactions . add ( transaction ) ; transactions . put ( xferId , transferTransactions ) ; } return instance ; }
Returns TransferListener instance and associates an AsperaTransaction with a Transfer ID.
On change of transfer status or bytes transferred the TransferLsitener will fire a progress
change event to all progress listeners attached to the AsperaTransaction.

@param xferId
@param transaction
@return