code: @Override
    public void exitUnion_range(VersionParser.Union_rangeContext ctx)
    {
      Object o1 = stack.pop();
      Object o2 = stack.pop();
  
      IVersionRange r1 = null;
      IVersionRange r2 = null;
      if (o1 instanceof IVersion) {
        r1 = new VersionSet((IVersion) o1);
      }
      else {
        r1 = (IVersionRange) o1;
      }
      if (o2 instanceof IVersion) {
        r2 = new VersionSet((IVersion) o2);
      }
      else {
        r2 = (IVersionRange) o2;
      }
  
      if (r1 instanceof OrRange) {
        stack.push(((OrRange) r1).add(r2));
      }
      else if (r2 instanceof OrRange) {
        stack.push(((OrRange) r2).add(r1));
      }
      else {
        stack.push(new OrRange(r2, r1));
      }
    }
docs: /*
  (non-Javadoc)
  @see net.ossindex.version.parser.VersionBaseListener#exitUnion_range(net.ossindex.version.parser.VersionParser.Union_rangeContext)