private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException {
  s.defaultReadObject();
  if (name == null) {
    if (types != null) {
      throw new InvalidObjectException("cannot have types with null name");
    }
  }
 else {
    try {
      check();
    }
 catch (    RuntimeException e) {
      rethrow(e);
    }
  }
  if (constraints != null && constraints.isEmpty()) {
    throw new InvalidObjectException("constraints cannot be empty");
  }
}

private void readObject ( ObjectInputStream s ) throws IOException , ClassNotFoundException { s . defaultReadObject ( ) ; if ( name == null ) { if ( types != null ) { throw new InvalidObjectException ( "cannot have types with null name" ) ; } } else { try { check ( ) ; } catch ( RuntimeException e ) { rethrow ( e ) ; } } if ( constraints != null && constraints . isEmpty ( ) ) { throw new InvalidObjectException ( "constraints cannot be empty" ) ; } }
verifies that the method name , parameter types , and constraints are valid .
