Buggy code:
public class ShopAction { public RealShop2Plugin plugin ; public ShopAction ( RealShop2Plugin plugin ) { } public void buyExclude ( Player player , Shop shop , String chain ) { } public void buyOnly ( Player player , Shop shop , String chain ) { } public void close ( Player player , Shop shop ) { } public Shop createShop ( Location location , Player player , String shopName ) { } public void deleteShop ( Player player , Shop shop ) { } public boolean enterChestBlock ( Player player , Block block ) { } public boolean enterShop ( Player player , Shop shop ) { } public void exitShop ( Player player ) { } public void giveShop ( Player player , Shop shop , String playerName ) { } private void itemTypeListChain ( Player player , String chain , RealItemTypeList itemTypeList , String what ) { } public void open ( Player player , Shop shop ) { } public boolean selectShop ( Player player , Shop shop ) { } public void sellExclude ( Player player , Shop shop , String chain ) { } public void sellOnly ( Player player , Shop shop , String chain ) { } public void setDamagedItems ( Player player , Shop shop , Boolean flag ) { } public void setInfiniteBuy ( Player player , Shop shop , Boolean flag ) { } public void setInfiniteSell ( Player player , Shop shop , Boolean flag ) { } public void setMarketItemsOnly ( Player player , Shop shop , Boolean flag ) { } public void shopInfo ( Player player , Shop shop ) { } public void shopPricesInfos ( Player player , Shop shop ) { <START_BUG> ItemPriceList ownerPrices = new ItemPriceList ( plugin , shop . getPlayerName ( ) ) ; <END_BUG> plugin . getLog ( ) . debug ( ( "marketPrices<seq2seq4repair_space>=<seq2seq4repair_space>" + ( plugin . getMarketPrices ( ) . toString ( ) ) ) ) ; plugin . getLog ( ) . debug ( ( "ownerPrices<seq2seq4repair_space>=<seq2seq4repair_space>" + ( ownerPrices . toString ( ) ) ) ) ; RealItemTypeList itemTypeList = new RealItemTypeList ( ) ; String list = "" ; int count = 20 ; for ( ItemStack itemStack : player . getInventory ( ) . getContents ( ) ) if ( itemStack != null ) { RealItemType itemType = new RealItemType ( itemStack ) ; if ( ( ( itemTypeList . get ( itemType ) ) == null ) && ( shop . isItemSellAllowed ( itemType ) ) ) { itemTypeList . put ( itemType ) ; Price price = ownerPrices . getPrice ( itemType , plugin . getMarketPrices ( ) ) ; if ( price != null ) { plugin . getLog ( ) . debug ( ( ( ( "price<seq2seq4repair_space>of<seq2seq4repair_space>" + ( itemType . toString ( ) ) ) + "<seq2seq4repair_space>=<seq2seq4repair_space>" ) + ( price . toString ( ) ) ) ) ; if ( ! ( list . equals ( "" ) ) ) { list += ( RealColor . message ) + ",<seq2seq4repair_space>" ; } list += ( ( ( ( ( RealColor . item ) + ( plugin . tr ( itemType . getName ( ) ) ) ) + ( RealColor . message ) ) + ":<seq2seq4repair_space>" ) + ( RealColor . price ) ) + ( price . getSellPrice ( ) ) ; if ( ( count -- ) < 0 ) { if ( ! ( list . equals ( "" ) ) ) { list += ( RealColor . message ) + ",<seq2seq4repair_space>..." ; } break ; } } } } if ( list . equals ( "" ) ) { player . sendMessage ( ( ( RealColor . cancel ) + ( plugin . tr ( "Nothing<seq2seq4repair_space>can<seq2seq4repair_space>be<seq2seq4repair_space>sold<seq2seq4repair_space>here" ) ) ) ) ; } else { player . sendMessage ( ( ( RealColor . message ) + ( plugin . tr ( "You<seq2seq4repair_space>can<seq2seq4repair_space>sell<seq2seq4repair_space>+items" ) . replace ( "+items" , ( list + ( RealColor . message ) ) ) ) ) ) ; } itemTypeList . clear ( ) ; list = "" ; count = 20 ; for ( Inventory inventory : shop . getChest ( ) . getInventories ( ) ) { for ( ItemStack itemStack : inventory . getContents ( ) ) if ( itemStack != null ) { RealItemType itemType = new RealItemType ( itemStack ) ; if ( ( ( itemTypeList . get ( itemType ) ) == null ) && ( shop . isItemBuyAllowed ( itemType ) ) ) { itemTypeList . put ( itemType ) ; Price price = ownerPrices . getPrice ( itemType , plugin . getMarketPrices ( ) ) ; if ( price != null ) { plugin . getLog ( ) . debug ( ( ( ( "price<seq2seq4repair_space>of<seq2seq4repair_space>" + ( itemType . toString ( ) ) ) + "<seq2seq4repair_space>=<seq2seq4repair_space>" ) + ( price . toString ( ) ) ) ) ; if ( ! ( list . equals ( "" ) ) ) { list += ( RealColor . message ) + ",<seq2seq4repair_space>" ; } list += ( ( ( ( ( RealColor . item ) + ( plugin . tr ( itemType . getName ( ) ) ) ) + ( RealColor . message ) ) + ":<seq2seq4repair_space>" ) + ( RealColor . price ) ) + ( price . getBuyPrice ( ) ) ; if ( ( count -- ) < 0 ) { if ( ! ( list . equals ( "" ) ) ) { list += ( RealColor . message ) + ",<seq2seq4repair_space>..." ; } break ; } } } } if ( count < 0 ) { break ; } } if ( list . equals ( "" ) ) { player . sendMessage ( ( ( RealColor . cancel ) + ( plugin . tr ( "Nothing<seq2seq4repair_space>to<seq2seq4repair_space>buy<seq2seq4repair_space>here" ) ) ) ) ; }

Fix:
ItemPriceList ownerPrices = new ItemPriceList ( plugin , shop . getPlayerName ( ) ) . load ( ) ;