code: private FieldInfo generateFieldInfo(Object obj, Field field)
                      throws RemoteException
      {
          final boolean isTraceOn = TraceComponent.isAnyTracingEnabled();
          if (isTraceOn && tc.isEntryEnabled())
              Tr.entry(tc, "generateFieldInfo", field);
  
          FieldInfo fieldInfo = new FieldInfo();
          String fieldName = field.getName();
          Object fieldObj = null;
          try
          {
              fieldObj = field.get(obj); // Get the actual object for this field
          } catch (IllegalArgumentException e)
          {
              // This shouldn't happen
              FFDCFilter.processException(e, CLASS_NAME + ".generateFieldInfo", "851", this);
              throw new RemoteException("passivation failed", e);
          } catch (IllegalAccessException e)
          {
              // This shouldn't happen since setAccessible(true) was called for this field in
              // collectPassivatorFields
              FFDCFilter.processException(e, CLASS_NAME + ".generateFieldInfo", "857", this);
              throw new RemoteException("passivation failed", e);
          }
  
          fieldInfo.name = fieldName;
          fieldInfo.value = fieldObj;
  
          if (isTraceOn && tc.isEntryEnabled())
              Tr.exit(tc, "generateFieldInfo", fieldInfo);
  
          return fieldInfo;
      }
docs: d430549.10