private Object[] unmarshalParametersChecked(DeserializationChecker checker,Method method,MarshalInputStream in) throws IOException, ClassNotFoundException {
  int callID=methodCallIDCount.getAndIncrement();
  MyChecker myChecker=new MyChecker(checker,method,callID);
  in.setStreamChecker(myChecker);
  try {
    Class<?>[] types=method.getParameterTypes();
    Object[] values=new Object[types.length];
    for (int i=0; i < types.length; i++) {
      myChecker.setIndex(i);
      values[i]=unmarshalValue(types[i],in);
    }
    myChecker.end(callID);
    return values;
  }
  finally {
    in.setStreamChecker(null);
  }
}

private Object [ ] unmarshalParametersChecked ( DeserializationChecker checker , Method method , MarshalInputStream in ) throws IOException , ClassNotFoundException { int callID = methodCallIDCount . getAndIncrement ( ) ; MyChecker myChecker = new MyChecker ( checker , method , callID ) ; in . setStreamChecker ( myChecker ) ; try { Class < ? > [ ] types = method . getParameterTypes ( ) ; Object [ ] values = new Object [ types . length ] ; for ( int i = 0 ; i < types . length ; i ++ ) { myChecker . setIndex ( i ) ; values [ i ] = unmarshalValue ( types [ i ] , in ) ; } myChecker . end ( callID ) ; return values ; } finally { in . setStreamChecker ( null ) ; } }
unmarshal parameters for the given method of the given instance over the given marshalinputstream . do perform all additional checks .
