lojix/logic/src/main/com/thesett/aima/logic/fol/Functor.java
public Functor queryConversion()
    {
        /*log.fine("public Functor queryConversion(): called)");*/

        Functor copy = (Functor) super.queryConversion();

        if (arguments != null)
        {
            copy.arguments = new Term[arguments.length];

            for (int i = 0; i < arguments.length; i++)
            {
                copy.arguments[i] = arguments[i].queryConversion();
            }
        }

        return copy;
    }
public Functor queryConversion()
    {
        /*log.fine("public Functor queryConversion(): called)");*/

        Functor copy = (Functor) super.queryConversion();

        if (arguments != null)
        {
            copy.arguments = new Term[arguments.length];

            for (int i = 0; i < arguments.length; i++)
            {
                copy.arguments[i] = arguments[i].queryConversion();
            }
        }

        return copy;
    }
Makes a clone of the term, converting its variables to refer directly to their storage cells.

@return A copy of this term, with entirely independent variables to the term it was copied from.