class DeleteExpiredElementJob<V> extends DeleteExpiredJob<V> {

    private static final String JOB_TYPE = "delete_expired_element";

    private Set<HugeElement> elements;

    public DeleteExpiredElementJob(Set<HugeElement> elements) {
        E.checkArgument(elements != null && !elements.isEmpty(),
                        "The element can't be null or empty");
        this.elements = elements;
    }

    @Override
    public String type() {
        return JOB_TYPE;
    }

    @Override
    public V execute() throws Exception {<FILL_FUNCTION_BODY>}
}

        LOG.debug("Delete expired elements: {}", this.elements);

        HugeGraphParams graph = this.params();
        GraphTransaction tx = graph.graphTransaction();
        try {
            for (HugeElement element : this.elements) {
                element.remove();
            }
            tx.commit();
        } catch (Exception e) {
            tx.rollback();
            LOG.warn("Failed to delete expired elements: {}", this.elements);
            throw e;
        } finally {
            JOB_COUNTERS.jobCounter(graph.graph()).decrement();
        }
        return null;
    
<methods>public non-sealed void <init>() ,public static void asyncDeleteExpiredObject(org.apache.hugegraph.HugeGraph, V) ,public static EphemeralJob<V> newDeleteExpiredElementJob(org.apache.hugegraph.job.system.JobCounters.JobCounter, V) <variables>protected static final org.apache.hugegraph.job.system.JobCounters JOB_COUNTERS,protected static final Logger LOG,private static final int MAX_JOBS