public int estimateSize(Object o) { if (o == null) { return 8; } int answer = 8 + estimateSize(o.getClass(), null); if (o instanceof EstimatableObjectWrapper) { answer += estimateSize(((EstimatableObjectWrapper) o).unwrap()); } else if (o instanceof MessageEvent) { answer += estimateSize(((MessageEvent) o).getMessage()); } else if (o instanceof ChannelBuffer) { answer += ((ChannelBuffer) o).capacity(); } else if (o instanceof byte[]) { answer += ((byte[]) o).length; } else if (o instanceof ByteBuffer) { answer += ((ByteBuffer) o).remaining(); } else if (o instanceof CharSequence) { answer += ((CharSequence) o).length() << 1; } else if (o instanceof Iterable<?>) { for (Object m : (Iterable<?>) o) { answer += estimateSize(m); } } return align(answer); }
public int estimateSize(Object o) { if (o == null) { return 8; } int answer = 8 + estimateSize(o.getClass(), null); if (o instanceof EstimatableObjectWrapper) { answer += estimateSize(((EstimatableObjectWrapper) o).unwrap()); } else if (o instanceof MessageEvent) { answer += estimateSize(((MessageEvent) o).getMessage()); } else if (o instanceof ChannelBuffer) { answer += ((ChannelBuffer) o).capacity(); } else if (o instanceof byte[]) { answer += ((byte[]) o).length; } else if (o instanceof ByteBuffer) { answer += ((ByteBuffer) o).remaining(); } else if (o instanceof CharSequence) { answer += ((CharSequence) o).length() << 1; } else if (o instanceof Iterable<?>) { for (Object m : (Iterable<?>) o) { answer += estimateSize(m); } } return align(answer); }