code: public void readExternal(final ObjectInput stream) throws IOException,
                                                        ClassNotFoundException {
          this.dialects = (Map<String, DialectRuntimeData>) stream.readObject();
          this.lineMappings = (Map<String, LineMappings>) stream.readObject();
      }
docs: Handles the read serialization of the PackageCompilationData. Patterns in Rules may reference generated data which cannot be serialized by
  default methods. The PackageCompilationData holds a reference to the generated bytecode; which must be restored before any Rules.
  A custom ObjectInputStream, able to resolve classes against the bytecode, is used to restore the Rules.