public static void addContinuedRunnable(Side side, IContinuedRunnable runnable) {
runnable_mapping_buffer.get(side).add(runnable);
}
public static void onRunnableTick(Side side, Phase phase) {
updatePhase(side, phase);
<BUG>List<IContinuedRunnable> list = runnable_mapping.get(side);
list.addAll(runnable_mapping_buffer.get(side));
for (Iterator<IContinuedRunnable> iterator = list.iterator(); iterator.hasNext();)</BUG>
if (iterator.next().run(phase))
iterator.remove();

public static void addContinuedRunnable(Side side, IContinuedRunnable runnable) {
runnable_mapping_buffer.get(side).add(runnable);
}
public static void onRunnableTick(Side side, Phase phase) {
updatePhase(side, phase);
List<IContinuedRunnable> list = runnable_mapping.get(side), buffer = runnable_mapping_buffer.get(side);
synchronized (buffer) {
list.addAll(buffer);
buffer.clear();
}
for (Iterator<IContinuedRunnable> iterator = list.iterator(); iterator.hasNext();)
if (iterator.next().run(phase))
iterator.remove();
