protected double valueFor(Object o)
        {
        if (o instanceof java.lang.Number)  // compiler complains unless I include the full classname!!! Huh?
            return ((Number)o).doubleValue();
        else if (o instanceof Valuable)
            return ((Valuable)o).doubleValue();
        else if (o instanceof Boolean)
            return ((Boolean)o).booleanValue() ? 1 : 0;
        else return Double.NaN;  // unknown
        }
protected double valueFor(Object o)
        {
        if (o instanceof java.lang.Number) 
            return ((Number)o).doubleValue();
        else if (o instanceof Valuable)
            return ((Valuable)o).doubleValue();
        else if (o instanceof Boolean)
            return ((Boolean)o).booleanValue() ? 1 : 0;
        else return Double.NaN; 
        }
protected double valuefor(object o) { if (o instanceof java.lang.number) return ((number)o).doublevalue(); else if (o instanceof valuable) return ((valuable)o).doublevalue(); else if (o instanceof boolean) return ((boolean)o).booleanvalue() ? 1 : 0; else return double.nan; }