code: public void bindValue(InternalQName varName, Value value) throws IllegalArgumentException, RepositoryException
     {
        if (!variableNames.contains(varName))
        {
           throw new IllegalArgumentException("not a valid variable in this query");
        }
        else
        {
           bindValues.put(varName, value);
        }
     }
docs: Binds the given <code>value</code> to the variable named
  <code>varName</code>.
  
  @param varName name of variable in query
  @param value   value to bind
  @throws IllegalArgumentException if <code>varName</code> is not a valid
  variable in this query.
  @throws RepositoryException      if an error occurs.