void printOperator(ISparqlPrinter p, String op, List <IResource> args)
        {
            if (p.isNested())
            {
                p.print("(");
            }
            bool set = isSetOperator(op);

            if (args.Count == 1 && !set)
            {
                p.print(op);
                printNestedExpressionString(p, args[0]);
            }
            else
            { // assuming parameters.size() == 2
                printNestedExpressionString(p, args[0]);
                p.print(" ");
                p.print(op);
                p.print(" ");
                if (set)
                {
                    p.print("(");
                    for (int i = 1; i < args.Count; i++)
                    {
                        if (i > 1)
                        {
                            p.print(", ");
                        }
                        printNestedExpressionString(p, args[i]);
                    }
                    p.print(")");
                }
                else
                {
                    printNestedExpressionString(p, args[1]);
                }
            }
            if (p.isNested())
            {
                p.print(")");
            }
        }