From d7034e9eae4deb263efc0c359a1a6da86df8b306 Mon Sep 17 00:00:00 2001 From: Hannes Janetzek Date: Tue, 18 Jun 2013 10:23:31 +0200 Subject: [PATCH] null out 'next' --- src/org/oscim/utils/pool/Inlist.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/org/oscim/utils/pool/Inlist.java b/src/org/oscim/utils/pool/Inlist.java index fc491dd9..97d640e3 100644 --- a/src/org/oscim/utils/pool/Inlist.java +++ b/src/org/oscim/utils/pool/Inlist.java @@ -14,7 +14,12 @@ */ package org.oscim.utils.pool; - +/** + * Utility class for making poolable objects. + * Instead of using an additional list to hold pool items just extend this class. + * + * Also handy for objects that exist in only *one list* at a time. + * */ public class Inlist> { @@ -31,12 +36,15 @@ public class Inlist> { public static > T remove(T list, T item) { if (item == list) { - return item.next; + T head = item.next; + item.next = null; + return head; } for (Inlist prev = list, it = list.next; it != null; it = it.next) { if (it == item) { - prev.next = it.next; + prev.next = item.next; + item.next = null; return list; } prev = it;