Just instantiate a List<byte[]> as an ArrayList in dropTable and pass it through doDropTables. Populate the list as tables are found that need to be deleted. Then add a new MetaDataMutationResult constructor that takes 4 args, including a List<byte[]> and use this to populate the new list. The current 3 arg MetaDataMutationResult constructor can just do a this( returnCode, currentTime, table, Collections.<byte[]>emptyList());