code: public void modifyTransferSpec(AsperaConfig sessionDetails, TransferSpecs transferSpecs) {
  		for(TransferSpec transferSpec : transferSpecs.transfer_specs) {
  			if (!StringUtils.isNullOrEmpty(String.valueOf(sessionDetails.getTargetRateKbps())))transferSpec.setTarget_rate_kbps(sessionDetails.getTargetRateKbps());
  			if (!StringUtils.isNullOrEmpty(String.valueOf(sessionDetails.getTargetRateCapKbps())))transferSpec.setTarget_rate_cap_kbps(sessionDetails.getTargetRateCapKbps());
  			if (!StringUtils.isNullOrEmpty(String.valueOf(sessionDetails.getMinRateCapKbps())))transferSpec.setMin_rate_cap_kbps(sessionDetails.getMinRateCapKbps());
  			if (!StringUtils.isNullOrEmpty(String.valueOf(sessionDetails.getMinRateKbps())))transferSpec.setMin_rate_kbps(sessionDetails.getMinRateKbps());
  			if (!StringUtils.isNullOrEmpty(sessionDetails.getRatePolicy()))transferSpec.setRate_policy(sessionDetails.getRatePolicy());
  			if (!StringUtils.isNullOrEmpty(String.valueOf(sessionDetails.isLockMinRate())))transferSpec.setLock_min_rate(sessionDetails.isLockMinRate());
  			if (!StringUtils.isNullOrEmpty(String.valueOf(sessionDetails.isLockTargetRate())))transferSpec.setLock_target_rate(sessionDetails.isLockTargetRate());
  			if (!StringUtils.isNullOrEmpty(String.valueOf(sessionDetails.isLockRatePolicy())))transferSpec.setLock_rate_policy(sessionDetails.isLockRatePolicy());
  			if (!StringUtils.isNullOrEmpty(sessionDetails.getDestinationRoot()))transferSpec.setDestination_root(sessionDetails.getDestinationRoot());
  			if (!StringUtils.isNullOrEmpty(String.valueOf(sessionDetails.getMultiSession())))transferSpec.setMulti_session(sessionDetails.getMultiSession());
  			if (!StringUtils.isNullOrEmpty(String.valueOf(sessionDetails.getMultiSessionThreshold())))transferSpec.setMulti_session_threshold(sessionDetails.getMultiSessionThreshold());
  		}
  	}
docs: Modify the retrieved TransferSpec with the customised AsperaConfig object
  created by the user
  
  @param sessionDetails
  @param transferSpecs