@SuppressWarnings("unchecked") @Override protected void _writeTo(SerializationContext ctx, Object inst, BinaryOutput dst) throws IOException, IllegalArgumentException, IllegalAccessException { try { final Object[] ar = (Object[]) _field.get(inst); if (ar == null) return; for (int i = 0; i < ar.length; i++) { if (ar[i] == null) continue; else if (_component_type_ba != null) { _component_type_ba.writeTo(ctx, ar[i], dst); } else { _ba_fac.getBinaryAccessor(ar[i].getClass()).writeTo(ctx, ar[i], dst); } } // if (_fields_type_ba == null) { // final BinaryAccessor ba = _ba_fac.getBinaryAccessor(obj.getClass()); // ba.writeTo(ctx, obj, dst); // } else { // _fields_type_ba.writeTo(ctx, obj, dst); // } // for (int i = 0; i < ar.length; _component_type_ba.writeTo(ctx, ar[i++], dst)); } catch (Exception e) { throw new IOException(e); } }