package org.bukkit.craftbukkit.scheduler; import org.bukkit.plugin.Plugin; class CraftAsyncDebugger { private CraftAsyncDebugger next = null; private final int expiry; private final Plugin plugin; private final Class<? extends Runnable> clazz; CraftAsyncDebugger(final int expiry, final Plugin plugin, final Class<? extends Runnable> clazz) { this.expiry = expiry; this.plugin = plugin; this.clazz = clazz; } final CraftAsyncDebugger getNextHead(final int time) { CraftAsyncDebugger next, current = this; while (time > current.expiry && (next = current.next) != null) { current = next; } return current; } final CraftAsyncDebugger setNext(final CraftAsyncDebugger next) { return this.next = next; } StringBuilder debugTo(final StringBuilder string) { for (CraftAsyncDebugger next = this; next != null; next = next.next) { string.append(next.plugin.getDescription().getName()).append(':').append(next.clazz.getName()).append('@').append(next.expiry).append(','); } return string; } }