code: @SuppressWarnings("unchecked")
    @GwtIncompatible("ObjectInputStream")
    public void restoreContents(ObjectInputStream in) throws IOException, ClassNotFoundException {
      eachRefTypeIndexedByProperty = (Map<String, Map<String, ObjectType>>) in.readObject();
      interfaceToImplementors = (Multimap<String, FunctionType>) in.readObject();
      typesIndexedByProperty = (Multimap<String, JSType>) in.readObject();
    }
docs: Restores the derived state.
  
  Note: This should be only used when deserializing the compiler state and needs to be done at
  the end, after deserializing CompilerState.