Buggy code:
public Transaction getTransaction ( byte [ ] signature ) { } public List < Transaction > getLastTransactions ( Account account , int limit ) { } public List < Pair < Account , Block > > getLastBlocks ( ) { } public List < Block > getLastBlocks ( Account account ) { } public List < Pair < Account , Name > > getNames ( ) { } public List < Name > getNamesAsList ( ) { } public List < Name > getNames ( Account account ) { } public List < Pair < Account , NameSale > > getNameSales ( ) { } public List < NameSale > getNameSales ( Account account ) { } public List < NameSale > getAllNameSales ( ) { } public List < Pair < Account , Poll > > getPolls ( ) { } public List < Poll > getPolls ( Account account ) { } public void addAssetFavorite ( Asset asset ) { } public void removeAssetFavorite ( Asset asset ) { } public boolean isAssetFavorite ( Asset asset ) { } public Collection < Poll > getAllPolls ( ) { } public Collection < Asset > getAllAssets ( ) { } public void onDatabaseCommit ( ) { } public ForgingStatus getForgingStatus ( ) { } public int getHeight ( ) { } public Block getLastBlock ( ) { } public Block getBlock ( byte [ ] header ) { } public Pair < Block , List < Transaction > > scanTransactions ( Block block , int blockLimit , int transactionLimit , int type , int service , Account account ) { } public long getNextBlockGeneratingBalance ( ) { } public long getNextBlockGeneratingBalance ( Block parent ) { } public void newBlockGenerated ( Block newBlock ) { } public List < Transaction > getUnconfirmedTransactions ( ) { } public SortableList < Tuple2 < String , Long > , BigDecimal > getBalances ( long key ) { } public SortableList < Tuple2 < String , Long > , BigDecimal > getBalances ( Account account ) { } public Name getName ( String nameName ) { } public NameSale getNameSale ( String nameName ) { } public Poll getPoll ( String name ) { } public Asset getQoraAsset ( ) { } public Asset getAsset ( long key ) { } public SortableList < BigInteger , Order > getOrders ( Asset have , Asset want ) { } public SortableList < Tuple2 < BigInteger , BigInteger > , Trade > getTrades ( Asset have , Asset want ) { } public SortableList < Tuple2 < BigInteger , BigInteger > , Trade > getTrades ( Order order ) { } public SortableList < String , AT > getAcctATs ( String type , boolean initiators ) { } public void onTransactionCreate ( Transaction transaction ) { } public Pair < Transaction , Integer > sendPayment ( PrivateKeyAccount sender , Account recipient , BigDecimal amount , BigDecimal fee ) { } public Pair < Transaction , Integer > registerName ( PrivateKeyAccount registrant , Account owner , String name , String value , BigDecimal fee ) { } public Pair < BigDecimal , Integer > calcRecommendedFeeForNameRegistration ( String name , String value ) { } public Pair < BigDecimal , Integer > calcRecommendedFeeForNameUpdate ( String name , String value ) { } public Pair < BigDecimal , Integer > calcRecommendedFeeForArbitraryTransaction ( byte [ ] data ) { } public Pair < BigDecimal , Integer > calcRecommendedFeeForMessage ( byte [ ] message ) { <START_BUG> return this . transactionCreator . calcRecommendedFeeForArbitraryTransaction ( message ) ; <END_BUG> } public Pair < Transaction , Integer > updateName ( PrivateKeyAccount owner , Account newOwner , String name , String value , BigDecimal fee ) { } public Pair < Transaction , Integer > sellName ( PrivateKeyAccount owner , String name , BigDecimal amount , BigDecimal fee ) { } public Pair < Transaction , Integer > cancelSellName ( PrivateKeyAccount owner , NameSale nameSale , BigDecimal fee ) { } public Pair < Transaction , Integer > BuyName ( PrivateKeyAccount buyer , NameSale nameSale , BigDecimal fee ) { } public Pair < Transaction , Integer > createPoll ( PrivateKeyAccount creator , String name , String description , List < String > options , BigDecimal fee ) { } public Pair < Transaction , Integer > createPollVote ( PrivateKeyAccount creator , Poll poll , PollOption option , BigDecimal fee ) { } public Pair < Transaction , Integer > createArbitraryTransaction ( PrivateKeyAccount creator , int service , byte [ ] data , BigDecimal fee ) { } public Pair < Transaction , Integer > issueAsset ( PrivateKeyAccount creator , String name , String description , long quantity , boolean divisible , BigDecimal fee ) { } public Pair < Transaction , Integer > createOrder ( PrivateKeyAccount creator , Asset have , Asset want , BigDecimal amount , BigDecimal price , BigDecimal fee ) { } public Pair < Transaction , Integer > cancelOrder ( PrivateKeyAccount creator , Order order , BigDecimal fee ) { } public Pair < Transaction , Integer > transferAsset ( PrivateKeyAccount sender , Account recipient , Asset asset , BigDecimal amount , BigDecimal fee ) { } public Pair < Transaction , Integer > deployAT ( PrivateKeyAccount creator , String name , String description , String type , String tags , byte [ ] creationBytes , BigDecimal quantity , BigDecimal fee ) { } public Pair < Transaction , Integer > sendMultiPayment ( PrivateKeyAccount sender , List < Payment > payments , BigDecimal fee ) { } public Pair < Transaction , Integer > sendMessage ( PrivateKeyAccount sender , Account recipient , BigDecimal amount , BigDecimal fee , byte [ ] isText , byte [ ] message , byte [ ] encryptMessage ) { } public Block getBlockByHeight ( int parseInt ) { } public byte [ ] getPublicKeyByAddress ( String address ) { } }

Fix:
return this . transactionCreator . calcRecommendedFeeForMessage ( message ) ;