def find_path destination_account, destination_amount, source_currencies = nil
      uri = "v1/accounts/#{account.address}/payments/paths/#{destination_account.to_s}/#{destination_amount.to_s}"
      
      if source_currencies
        cur = source_currencies.join(",")
        uri += "?source_currencies=#{cur}"
      end
      
      RippleRest.get(uri)["payments"].map(&Payment.method(:new)).each do |i|
        i.account = account
      end
    end
def find_path destination_account, destination_amount, source_currencies = nil
      uri = "v1/accounts/#{account.address}/payments/paths/#{destination_account.to_s}/#{destination_amount.to_s}"
      
      if source_currencies
        cur = source_currencies.join(",")
        uri += "?source_currencies=#{cur}"
      end
      
      RippleRest.get(uri)["payments"].map(&Payment.method(:new)).each do |i|
        i.account = account
      end
    end
Query `rippled` for possible payment "paths" through the Ripple Network to deliver the given amount to the specified `destination_account`. If the `destination_amount` issuer is not specified, paths will be returned for all of the issuers from whom the `destination_account` accepts the given currency.
 @param destination_account [String, Account] destination account
 @param destination_amount [String, Amount] destination amount
 @param source_currencies [Array<String>] an array of source currencies that can be used to constrain the results returned (e.g. `["XRP", "USD+r...", "BTC+r..."]`) Currencies can be denoted by their currency code (e.g. USD) or by their currency code and issuer (e.g. `USD+r...`). If no issuer is specified for a currency other than XRP, the results will be limited to the specified currencies but any issuer for that currency will do.
 @raise [RippleRestError] if RippleRest server returns an error
 @raise [ProtocolError] if protocol is wrong or network is down
 @return [Array<Payment>]