public org.omg.CORBA.portable.OutputStream _invoke(
      String $method,
      org.omg.CORBA.portable.InputStream in,
      org.omg.CORBA.portable.ResponseHandler $rh) {
    org.omg.CORBA.portable.OutputStream out = null;
    java.lang.Integer __method = (java.lang.Integer) _methods.get($method);
    if (__method == null)
      throw new org.omg.CORBA.BAD_OPERATION(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);

    switch (__method.intValue()) {
      case 0: // br/univali/portugol/integracao/asa/NoOperacao/getOperandoEsquerdo
        {
          br.univali.portugol.integracao.asa.NoExpressao $result = null;
          $result = this.getOperandoEsquerdo();
          out = $rh.createReply();
          br.univali.portugol.integracao.asa.NoExpressaoHelper.write(out, $result);
          break;
        }

      case 1: // br/univali/portugol/integracao/asa/NoOperacao/getOperandoDireito
        {
          br.univali.portugol.integracao.asa.NoExpressao $result = null;
          $result = this.getOperandoDireito();
          out = $rh.createReply();
          br.univali.portugol.integracao.asa.NoExpressaoHelper.write(out, $result);
          break;
        }

      case 2: // br/univali/portugol/integracao/asa/NoOperacao/getTrechoCodigoFonteOperador
        {
          br.univali.portugol.integracao.asa.TrechoCodigoFonte $result = null;
          $result = this.getTrechoCodigoFonteOperador();
          out = $rh.createReply();
          br.univali.portugol.integracao.asa.TrechoCodigoFonteHelper.write(out, $result);
          break;
        }

      case 3: // br/univali/portugol/integracao/asa/NoExpressao/getTrechoCodigoFonte
        {
          br.univali.portugol.integracao.asa.TrechoCodigoFonte $result = null;
          $result = this.getTrechoCodigoFonte();
          out = $rh.createReply();
          br.univali.portugol.integracao.asa.TrechoCodigoFonteHelper.write(out, $result);
          break;
        }

      case 4: // br/univali/portugol/integracao/asa/No/aceitar
        {
          try {
            br.univali.portugol.integracao.asa.VisitanteASA visitante =
                br.univali.portugol.integracao.asa.VisitanteASAHelper.read(in);
            org.omg.CORBA.Any $result = null;
            $result = this.aceitar(visitante);
            out = $rh.createReply();
            out.write_any($result);
          } catch (br.univali.portugol.integracao.asa.ExcecaoVisitaASA $ex) {
            out = $rh.createExceptionReply();
            br.univali.portugol.integracao.asa.ExcecaoVisitaASAHelper.write(out, $ex);
          }
          break;
        }

      default:
        throw new org.omg.CORBA.BAD_OPERATION(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
    }

    return out;
  } // _invoke