/** Performs error check */
  public void errorCheck() {
    ErrorReceiver er = Ring.get(ErrorReceiver.class);
    for (QName n : enumBaseTypes) {
      XSSchemaSet xs = Ring.get(XSSchemaSet.class);
      XSSimpleType st = xs.getSimpleType(n.getNamespaceURI(), n.getLocalPart());
      if (st == null) {
        er.error(loc, Messages.ERR_UNDEFINED_SIMPLE_TYPE.format(n));
        continue;
      }

      if (!SimpleTypeBuilder.canBeMappedToTypeSafeEnum(st)) {
        er.error(loc, Messages.ERR_CANNOT_BE_BOUND_TO_SIMPLETYPE.format(n));
        continue;
      }
    }
  }
  /** Moves global BIConversion to the right object. */
  public void dispatchGlobalConversions(XSSchemaSet schema) {
    // also set parent to the global conversions
    for (Map.Entry<QName, BIConversion> e : globalConversions.entrySet()) {

      QName name = e.getKey();
      BIConversion conv = e.getValue();

      XSSimpleType st = schema.getSimpleType(name.getNamespaceURI(), name.getLocalPart());
      if (st == null) {
        Ring.get(ErrorReceiver.class)
            .error(getLocation(), Messages.ERR_UNDEFINED_SIMPLE_TYPE.format(name));
        continue; // abort
      }

      getBuilder().getOrCreateBindInfo(st).addDecl(conv);
    }
  }