@Override
  public void recycle(Object o) {
    if (o == null) return;
    switch (((HugeElement) o).hugeElementType()) {
      case Element:
        if (valueElements.size() < allocationSize)
          valueElements.add((VE) o);
        break;
      case BeanImpl:
        if (valueImpls.size() < allocationSize)
          valueImpls.add((V) o);
        break;
      case KeyElement:
        if (keyElements.size() < allocationSize)
          keyElements.add((KE) o);
        break;
      case KeyImpl:
        if (keyImpls.size() < allocationSize)
          keyImpls.add((K) o);
        break;
    }
  }