/** {@inheritDoc} */ @Override protected LinkedList<PathData> expandArguments(LinkedList<String> argList) throws IOException { Deque<String> args = new LinkedList<String>(argList); LinkedList<PathData> pathArgs = parsePathData(args); if(pathArgs.size() == 0) { throw new IOException("No path specified"); } Expression expression = parseExpression(args); if(!expression.isAction()) { Expression and = getExpression(And.class); Deque<Expression> children = new LinkedList<Expression>(); children.add(getExpression(Print.class)); children.add(expression); and.addChildren(children); expression = and; } setRootExpression(expression); return pathArgs; }