ObjectStreamField[] fields(){
  if (fields == null) {
    Class<?> forCl=forClass();
    if (forCl != null && isSerializable() && !forCl.isArray()) {
      buildFieldDescriptors(forCl.getDeclaredFields());
    }
 else {
      setFields(NO_FIELDS);
    }
  }
  return fields;
}

ObjectStreamField [ ] fields ( ) { if ( fields == null ) { Class < ? > forCl = forClass ( ) ; if ( forCl != null && isSerializable ( ) && ! forCl . isArray ( ) ) { buildFieldDescriptors ( forCl . getDeclaredFields ( ) ) ; } else { setFields ( NO_FIELDS ) ; } } return fields ; }
returns the collection of field descriptors for the fields of the corresponding class
