@Override
  public Object internalRead(final BInputJson bin) throws BException {
    final BJsonObject js1 = bin.currentObject;

    int n1 = 0, n0 = 0;
    n1 = js1 != null ? js1.size() : 0;
    if (n1 != 0) {
      final BJsonObject js0 = js1.getJsonObject(0);
      n0 = js0 != null ? js0.size() : 0;
    }

    final byps.test.api.prim.PrimitiveTypes[][] arr = new byps.test.api.prim.PrimitiveTypes[n1][n0];
    bin.onObjectCreated(arr);

    // read
    final byps.test.api.prim.PrimitiveTypes[][] a1 = arr;
    for (int i1 = 0; i1 < n1; i1++) {
      final byps.test.api.prim.PrimitiveTypes[] a0 = a1[i1];
      bin.currentObject = js1.getJsonObject(i1);
      for (int i0 = 0; i0 < n0; i0++) {
        a0[i0] = (byps.test.api.prim.PrimitiveTypes) bin.readObj(i0, false, null);
      }
    }
    return arr;
  }
  @Override
  public Object internalRead(final Object obj1, final BInputJson bin) throws BException {
    final BResult_766441794 obj =
        (BResult_766441794) (obj1 != null ? obj1 : bin.onObjectCreated(new BResult_766441794()));

    final BJsonObject js = bin.currentObject;
    obj.result =
        (float[]) bin.readObj("result", false, byps.test.api.JSerializer_766441794.instance);

    return obj;
  }
  @Override
  public Object internalRead(final Object obj1, final BInputJson bin) throws BException {
    final BResult_2053507648 obj =
        (BResult_2053507648) (obj1 != null ? obj1 : bin.onObjectCreated(new BResult_2053507648()));

    final BJsonObject js = bin.currentObject;
    obj.result =
        (byps.test.api.prim.PrimitiveTypes[])
            bin.readObj("result", false, byps.test.api.JSerializer_2053507648.instance);

    return obj;
  }
  @Override
  public Object internalRead(final Object obj1, final BInputJson bin) throws BException {
    final BResult_1661807911 obj =
        (BResult_1661807911) (obj1 != null ? obj1 : bin.onObjectCreated(new BResult_1661807911()));

    final BJsonObject js = bin.currentObject;
    obj.result =
        (java.util.List<java.lang.Character>)
            bin.readObj("result", false, byps.test.api.JSerializer_1661807911.instance);

    return obj;
  }
  @Override
  public Object internalRead(final Object obj1, final BInputJson bin) throws BException {
    final BResult_1799280818 obj =
        (BResult_1799280818) (obj1 != null ? obj1 : bin.onObjectCreated(new BResult_1799280818()));

    final BJsonObject js = bin.currentObject;
    obj.result =
        (java.util.Map<java.lang.Integer, byte[]>)
            bin.readObj("result", false, byps.test.api.JSerializer_1799280818.instance);

    return obj;
  }
  @Override
  public Object internalRead(final Object obj1, final BInputJson bin) throws BException {
    final BRequest_RemoteWithAuthentication_expire obj =
        (BRequest_RemoteWithAuthentication_expire)
            (obj1 != null
                ? obj1
                : bin.onObjectCreated(new BRequest_RemoteWithAuthentication_expire()));

    final BJsonObject js = bin.currentObject;
    obj.sess = (byps.test.api.auth.SessionInfo) bin.readObj("sess", false, null);

    return obj;
  }
  @Override
  public Object internalRead(final Object obj1, final BInputJson bin) throws BException {
    final BRequest_RemoteSetTypes_setInt1 obj =
        (BRequest_RemoteSetTypes_setInt1)
            (obj1 != null ? obj1 : bin.onObjectCreated(new BRequest_RemoteSetTypes_setInt1()));

    final BJsonObject js = bin.currentObject;
    obj.int1 =
        (java.util.Set<java.lang.Integer>)
            bin.readObj("int1", false, byps.test.api.JSerializer_1493282670.instance);

    return obj;
  }
  @Override
  public Object internalRead(final Object obj1, final BInputJson bin) throws BException {
    final BRequest_RemoteSetTypes_setByte2 obj =
        (BRequest_RemoteSetTypes_setByte2)
            (obj1 != null ? obj1 : bin.onObjectCreated(new BRequest_RemoteSetTypes_setByte2()));

    final BJsonObject js = bin.currentObject;
    obj.byte2 =
        (java.util.Set<byte[]>)
            bin.readObj("byte2", false, byps.test.api.JSerializer_2052431866.instance);

    return obj;
  }
  @Override
  public Object internalRead(final Object obj1, final BInputJson bin) throws BException {
    final BRequest_RemoteMapTypes_setObj1 obj =
        (BRequest_RemoteMapTypes_setObj1)
            (obj1 != null ? obj1 : bin.onObjectCreated(new BRequest_RemoteMapTypes_setObj1()));

    final BJsonObject js = bin.currentObject;
    obj.obj1 =
        (java.util.Map<java.lang.String, java.lang.Object>)
            bin.readObj("obj1", false, byps.test.api.JSerializer_1488550492.instance);

    return obj;
  }