code: public final void recycle(final T instance) {
          if (instance != null) {
              usedInstances.remove(instance);
              if (instance instanceof Resettable) {
                  ((Resettable) instance).reset();
              }
              unusedInstances.add(instance);
          }
      }
docs: Recycle an object for reuse by a subsequent call to {@link #acquire()}. If the object is an instance of
  {@link Resettable}, then {@link Resettable#reset()} will be called on the instance before recycling it.
  
  @param instance
  the instance to recycle.
  @throws IllegalArgumentException
  if the object instance was not originally obtained from this {@link Recycler}.