private static Entry[] unmarshalAttributes(ObjectInputStream in) throws IOException, ClassNotFoundException {
  ArrayList attributes=new ArrayList();
  MarshalledInstance mi=null;
  while ((mi=(MarshalledInstance)in.readObject()) != null) {
    try {
      attributes.add((Entry)mi.get(false));
    }
 catch (    Throwable e) {
      if (e instanceof Error && ThrowableConstants.retryable(e) == ThrowableConstants.BAD_OBJECT) {
        throw (Error)e;
      }
      logger.log(Level.WARNING,"failed to recover LUS attribute",e);
    }
  }
  Entry[] attrs=new Entry[attributes.size()];
  return (Entry[])attributes.toArray(attrs);
}

private static Entry [ ] unmarshalAttributes ( ObjectInputStream in ) throws IOException , ClassNotFoundException { ArrayList attributes = new ArrayList ( ) ; MarshalledInstance mi = null ; while ( ( mi = ( MarshalledInstance ) in . readObject ( ) ) != null ) { try { attributes . add ( ( Entry ) mi . get ( false ) ) ; } catch ( Throwable e ) { if ( e instanceof Error && ThrowableConstants . retryable ( e ) == ThrowableConstants . BAD_OBJECT ) { throw ( Error ) e ; } logger . log ( Level . WARNING , "failed to recover LUS attribute" , e ) ; } } Entry [ ] attrs = new Entry [ attributes . size ( ) ] ; return ( Entry [ ] ) attributes . toArray ( attrs ) ; }
returns reggie ' s attributes unmarshalled from a null - terminated list of marshalledinstances read from the given stream , logging ( but tolerating ) unmarshalling failures .
