private List<? extends Node> list(Node<?> node, List<Object[]> includes) throws IOException {
    	Node child;

    	if (includes.size() == 1 && includes.get(0)[0] instanceof String) {
            child = node.join((String) includes.get(0)[0]);
            if (child.exists()) {
                return Collections.singletonList(child);
            } else {
                return Collections.emptyList();
            }
    	} else {
        	return node.list();
        }
    }
private List < ? extends Node > list ( Node < ? > node , List < Object [ ] > includes ) throws IOException { Node child ; if ( includes . size ( ) == 1 && includes . get ( 0 ) [ 0 ] instanceof String ) { child = node . join ( ( String ) includes . get ( 0 ) [ 0 ] ) ; if ( child . exists ( ) ) { return Collections . singletonList ( child ) ; } else { return Collections . emptyList ( ) ; } } else { return node . list ( ) ; } }
avoids node.list() call if there is exactly 1 include with a literal head