public static <T extends ViewTraverse<T>> String expandVariable(
            final MultiDataContext<T, DataContext> data,
            final T currentContext,
            final BiFunction<Integer, String, T> viewMap,
            final String step,
            final String group,
            final String key,
            final String node
    )
    {
        Integer t = null;
        if (null != step) {
            try {
                t = Integer.parseInt(step);
            } catch (NumberFormatException e) {
                return null;
            }
        }
        T view = viewMap.apply(t, node);
        T mergedview = view.merge(currentContext).getView();
        return data.resolve(mergedview, view, group, key, null);
    }
public static < T extends ViewTraverse < T > > String expandVariable ( final MultiDataContext < T , DataContext > data , final T currentContext , final BiFunction < Integer , String , T > viewMap , final String step , final String group , final String key , final String node ) { Integer t = null ; if ( null != step ) { try { t = Integer . parseInt ( step ) ; } catch ( NumberFormatException e ) { return null ; } } T view = viewMap . apply ( t , node ) ; T mergedview = view . merge ( currentContext ) . getView ( ) ; return data . resolve ( mergedview , view , group , key , null ) ; }
Expand a variable reference

@param data    multi context data
@param viewMap factory of ViewTraverse type
@param step    step text
@param group
@param key
@param node
@param <T>

@return