class RankingImpl implements Ranking {

    public static Interpolator DEFAULT_INTERPOLATOR = Interpolator.LINEAR;

    protected Interpolator interpolator = DEFAULT_INTERPOLATOR;

    public Interpolator getInterpolator() {
        return interpolator;
    }

    public void setInterpolator(Interpolator interpolator) {
        this.interpolator = interpolator;
    }

    @Override
    public float getNormalizedValue(Element element, Graph graph) {
        return normalize(getValue(element, graph), interpolator, getMinValue(graph), getMaxValue(graph));
    }

    @Override
    public float normalize(Number value, Interpolator interpolator, Number minValue, Number maxValue) {<FILL_FUNCTION_BODY>}

    public abstract boolean isValid(Graph graph);

    @Override
    public Column getColumn() {
        return null;
    }
}

        if (minValue.equals(maxValue)) {
            return 1f;
        }
        float normalizedValue =
            (float) (value.doubleValue() - minValue.doubleValue()) /
                (float) (maxValue.doubleValue() - minValue.doubleValue());
        return interpolator.interpolate(normalizedValue);
    
<no_super_class>