code: @Override
    protected Construct getConstructor(Node node) {
      Construct construct = super.getConstructor(node);
      logger.trace("getting constructor for node {} Tag {} = {}", new Object[] {node, node.getTag(), construct});
      if(construct instanceof ConstructYamlObject && !tagsDefined.contains(node.getTag())) {
        try {
          node.getTag().getClassName();
        } catch(YAMLException e) {
          node.setUseClassConstructor(true);
          String value = null;
          if(node.getNodeId() == NodeId.scalar) {
            value = ((ScalarNode)node).getValue();
          }
          node.setTag(resolver.resolve(node.getNodeId(), value, true));
          construct = super.getConstructor(node);
          try {
            resolveType(node);
          } catch (ClassNotFoundException e1) {
            logger.debug("Could not find class.", e1);
          }
        }
      }
      
      logger.trace("returning constructor for node {} type {} Tag {} = {}", new Object[] {node, node.getType(), node.getTag(), construct});
      return construct;
    }
docs: Overridden to fetch constructor even if tag is not mapped.