### Question:
RecyclableByteBufferList extends ArrayList<ByteBuffer> implements Recyclable { @Override public boolean recycle() { clear(); this.capacity = 0; return recyclers.recycle(this, handle); } private  RecyclableByteBufferList(final Recyclers.Handle handle); private  RecyclableByteBufferList(final Recyclers.Handle handle, final int initialCapacity); static RecyclableByteBufferList newInstance(); static RecyclableByteBufferList newInstance(final int minCapacity); int getCapacity(); @Override boolean addAll(final Collection<? extends ByteBuffer> c); @Override boolean addAll(final int index, final Collection<? extends ByteBuffer> c); @Override boolean add(final ByteBuffer element); @Override void add(final int index, final ByteBuffer element); @Override ByteBuffer set(final int index, final ByteBuffer element); @Override ByteBuffer remove(final int index); @Override boolean remove(final Object o); @Override boolean recycle(); static int threadLocalCapacity(); static int threadLocalSize();  }### Answer:
@Test public void testRecycle() { final RecyclableByteBufferList object = RecyclableByteBufferList.newInstance(); object.recycle(); final RecyclableByteBufferList object2 = RecyclableByteBufferList.newInstance(); Assert.assertSame(object, object2); object2.recycle(); }