${programmers} Most of the time, there's no need to specifically mention the code that will interpret a table: * If the method for a ${workflow} action returns a List, Set, array, Map, ${entity}, etc, it will be ${autoWrapped} with an appropriate ${traverse} * If a nested table corresponds to the argument of a method, the appropriate ${traverse} will be used to set up the collection, array, map or object However, you may want to use a specific ${traverse} in your code. * For example, you may prefer to have a ''!-SetTraverse-!'' manage a ''Map'' instead of ''!-MapTraverse-!'', the default. * For example, you may prefer to have a ''!-SetTraverse-!'' manage an array instead of ''!-ArrayTraverse-!'', the default. * Rather than referring to the specific ${traverse}, call the appropriate factory method in class ''!-FitLibrarySelector-!''. !3 Factory methods ${workflow}: * public static Traverse selectWorkflow(Object sut); Collections: * public static Traverse selectPrimitiveArray(Object array); * public static Traverse selectUnorderedList(Object actuals); * public static !-CollectionTraverse-! selectUnorderedList(); * public static Traverse selectOrderedList(Object actuals); * public static !-CollectionTraverse-! selectOrderedList(); * public static Traverse selectSet(Object actuals); * public static !-CollectionTraverse-! selectSet(); * public static Traverse selectSubset(Object actuals); * public static !-CollectionTraverse-! selectSubset(); * public static Traverse selectMap(Map result); Collections Setup: * public static Traverse selectCollectionSetUp(); * public static Traverse selectCollectionSetUp(Collection collection); ${domainObject}s: * public static Traverse selectDomainCheck(Object domainObject); * public static Traverse selectDomainSetUp(Object domainObject)