class TimesetRankingImpl extends AttributeRankingImpl {

    public TimesetRankingImpl(Column column) {
        super(column);
    }

    @Override
    public Number getValue(Element element, Graph graph) {<FILL_FUNCTION_BODY>}

    @Override
    public Number getMinValue(Graph graph) {
        return getIndex(graph).getMinTimestamp();
    }

    @Override
    public Number getMaxValue(Graph graph) {
        return getIndex(graph).getMaxTimestamp();
    }

    private TimeIndex<? extends Element> getIndex(Graph graph) {
        if (this.column.get().getTable().isNodeTable()) {
            return graph.getModel().getNodeTimeIndex(graph.getView());
        } else {
            return graph.getModel().getEdgeTimeIndex(graph.getView());
        }
    }

    @Override
    public boolean isValid(Graph graph) {
        if (column.get() != null) {
            TimeIndex timeIndex = getIndex(graph);
            return timeIndex.getMinTimestamp() != Double.NEGATIVE_INFINITY &&
                timeIndex.getMaxTimestamp() != Double.POSITIVE_INFINITY;
        }
        return false;
    }
}

        TimeSet timeSet = (TimeSet) element.getAttribute(column.get(), graph.getView());
        if (timeSet != null) {
            // TODO Make this configurable via Estimator
            return timeSet.getMinDouble();
        }
        return null;
    
<methods>public void <init>(Column) ,public boolean equals(java.lang.Object) ,public Column getColumn() ,public java.lang.Number getMaxValue(Graph) ,public java.lang.Number getMinValue(Graph) ,public java.lang.Number getValue(Element, Graph) ,public int hashCode() ,public boolean isValid(Graph) <variables>protected final non-sealed WeakReference<Column> column