@Override
    public void save(GraphDataOutput out, Object val) throws IOException {
      final int length = Array.getLength(val);
      JvmProtoMemberValueExternalizer ext = find(length > 0? Array.get(val, 0).getClass() : val.getClass().getComponentType());
      out.writeInt(ext.ordinal());
      if (ext != NONE) {
        out.writeInt(length);
        for (int idx = 0; idx < length; idx++) {
          ext.save(out, Array.get(val, idx));
        }
      }
    }
@Override
    public void save(GraphDataOutput out, Object val)