class BitflyerAccountServiceRaw extends BitflyerBaseService {

  /**
   * Constructor
   *
   * @param exchange
   */
  public BitflyerAccountServiceRaw(Exchange exchange) {

    super(exchange);
  }

  public List<String> getPermissions() throws IOException {
    try {
      return bitflyer.getPermissions(apiKey, exchange.getNonceFactory(), signatureCreator);
    } catch (BitflyerException e) {
      throw handleError(e);
    }
  }

  public List<BitflyerAddress> getAddresses() throws IOException {
    try {
      return bitflyer.getAddresses(apiKey, exchange.getNonceFactory(), signatureCreator);
    } catch (BitflyerException e) {
      throw handleError(e);
    }
  }

  public List<BitflyerCoinHistory> getCoinIns() throws IOException {
    try {
      return bitflyer.getCoinIns(apiKey, exchange.getNonceFactory(), signatureCreator);
    } catch (BitflyerException e) {
      throw handleError(e);
    }
  }

  public List<BitflyerCoinHistory> getCoinOuts() throws IOException {
    try {
      return bitflyer.getCoinOuts(apiKey, exchange.getNonceFactory(), signatureCreator);
    } catch (BitflyerException e) {
      throw handleError(e);
    }
  }

  public List<BitflyerBankAccount> getBankAccounts() throws IOException {
    try {
      return bitflyer.getBankAccounts(apiKey, exchange.getNonceFactory(), signatureCreator);
    } catch (BitflyerException e) {
      throw handleError(e);
    }
  }

  public List<BitflyerDepositOrWithdrawal> getCashDeposits() throws IOException {
    try {
      return bitflyer.getCashDeposits(apiKey, exchange.getNonceFactory(), signatureCreator);
    } catch (BitflyerException e) {
      throw handleError(e);
    }
  }

  public BitflyerWithdrawResponse withdrawFunds(
      String currencyCode, String bankAccountID, BigDecimal amount) throws IOException {
    try {
      return bitflyer.withdrawFunds(
          apiKey,
          exchange.getNonceFactory(),
          signatureCreator,
          new BitflyerWithdrawRequest(currencyCode, bankAccountID, amount));
    } catch (BitflyerException e) {
      throw handleError(e);
    }
  }

  public List<BitflyerDepositOrWithdrawal> getWithdrawals() throws IOException {<FILL_FUNCTION_BODY>}

  public BitflyerMarginStatus getBitflyerMarginStatus() throws IOException {

    try {
      return bitflyer.getMarginStatus(apiKey, exchange.getNonceFactory(), signatureCreator);
    } catch (BitflyerException e) {
      throw handleError(e);
    }
  }

  public List<BitflyerMarginAccount> getBitflyerMarginAccounts() throws IOException {

    try {
      return bitflyer.getMarginAccounts(apiKey, exchange.getNonceFactory(), signatureCreator);
    } catch (BitflyerException e) {
      throw handleError(e);
    }
  }

  public List<BitflyerBalance> getBitflyerBalances() throws IOException {
    try {
      return bitflyer.getBalances(apiKey, exchange.getNonceFactory(), signatureCreator);
    } catch (BitflyerException e) {
      throw handleError(e);
    }
  }

  public List<BitflyerMarginTransaction> getBitflyerMarginHistory() throws IOException {

    try {
      return bitflyer.getMarginHistory(apiKey, exchange.getNonceFactory(), signatureCreator);
    } catch (BitflyerException e) {
      throw handleError(e);
    }
  }

  public BitflyerTradingCommission getTradingCommission(String productCode) throws IOException {
    try {
      return bitflyer.getTradingCommission(
          apiKey, exchange.getNonceFactory(), signatureCreator, productCode);
    } catch (BitflyerException e) {
      throw handleError(e);
    }
  }
}

    try {
      return bitflyer.getWithdrawals(apiKey, exchange.getNonceFactory(), signatureCreator);
    } catch (BitflyerException e) {
      throw handleError(e);
    }
  
<methods>public void <init>(org.knowm.xchange.Exchange) <variables>protected final non-sealed java.lang.String apiKey,protected final non-sealed org.knowm.xchange.bitflyer.Bitflyer bitflyer,protected final non-sealed ParamsDigest signatureCreator