if (!player.destroyItemByItemId("ex", REQUIRE_ITEM_FOR_EX[0], REQUIRE_ITEM_FOR_EX[1], null, true))
player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NOT_ENOUGH_REQUIRED_ITEMS));
else
player.addItem("rew", REWARD_ITEM[0], REWARD_ITEM[1], null, true);
You could make it like
if (!player.destroyItemByItemId("ex", REQUIRE_ITEM_FOR_EX[0], REQUIRE_ITEM_FOR_EX[1], null, true))
return;
player.addItem("rew", REWARD_ITEM[0], REWARD_ITEM[1], null, true);
If destroyItem.. return false, you get the message about incorect item count. With your message, you get it twice.