code: @SuppressWarnings({"rawtypes", "unchecked"})
    private void wireUpInheritanceRelationships(final AvroNode n) {
      if (n.getClassNode() != null) {
        final AvroClassNode cn = n.getClassNode();
        final ClassNode iface;
        try {
          iface = (ClassNode) getNode(getString(n.getFullName()));
        } catch (final NameResolutionException e) {
          final String errorMessage = new StringBuilder()
                  .append("When reading avro node ").append(n.getFullName())
                  .append(" does not exist.  Full record is ").append(n).toString();
          throw new IllegalStateException(errorMessage, e);
        }
        for (final CharSequence impl : cn.getImplFullNames()) {
          try {
            iface.putImpl((ClassNode) getNode(getString(impl)));
          } catch (final NameResolutionException e) {
            final String errorMessage = new StringBuilder()
                    .append("When reading avro node ").append(n)
                    .append(" refers to non-existent implementation:").append(impl).toString();
            throw new IllegalStateException(errorMessage, e);
          } catch (final ClassCastException e) {
            try {
              final String errorMessage = new StringBuilder()
                      .append("When reading avro node ").append(n).append(" found implementation")
                      .append(getNode(getString(impl))).append(" which is not a ClassNode!").toString();
              throw new IllegalStateException(errorMessage, e);
            } catch (final NameResolutionException e2) {
              final String errorMessage = new StringBuilder()
                      .append("Got 'cant happen' exception when producing error message for ")
                      .append(e).toString();
              throw new IllegalStateException(errorMessage, e2);
            }
          }
        }
      }
  
      for (final AvroNode child : n.getChildren()) {
        wireUpInheritanceRelationships(child);
      }
    }
docs: Register the implementation for the ClassNode recursively.