public static synchronized org.omg.CORBA.TypeCode type() {
   if (__typeCode == null) {
     __typeCode =
         org.omg
             .CORBA
             .ORB
             .init()
             .create_interface_tc(org.omg.CosNaming.BindingIteratorHelper.id(), "BindingIterator");
   }
   return __typeCode;
 }
  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()) {

        /**
         * Creates a binding of a name and an object in the naming context. Naming contexts that are
         * bound using bind do not participate in name resolution when compound names are passed to
         * be resolved.
         *
         * @param n Name of the object
         *     <p>
         * @param obj The Object to bind with the given name
         *     <p>
         * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not
         *     identify a binding.
         *     <p>
         * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the
         *     implementation has given up for some reason. The client, however, may be able to
         *     continue the operation at the returned naming context.
         *     <p>
         * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is
         *     invalid.
         *     <p>
         * @exception org.omg.CosNaming.NamingContextPackage.AlreadyBound Indicates an object is
         *     already bound to the specified name.
         *     <p>
         */
      case 0: // CosNaming/NamingContext/bind
        {
          try {
            org.omg.CosNaming.NameComponent n[] = org.omg.CosNaming.NameHelper.read(in);
            org.omg.CORBA.Object obj = org.omg.CORBA.ObjectHelper.read(in);
            this.bind(n, obj);
            out = $rh.createReply();
          } catch (org.omg.CosNaming.NamingContextPackage.NotFound $ex) {
            out = $rh.createExceptionReply();
            org.omg.CosNaming.NamingContextPackage.NotFoundHelper.write(out, $ex);
          } catch (org.omg.CosNaming.NamingContextPackage.CannotProceed $ex) {
            out = $rh.createExceptionReply();
            org.omg.CosNaming.NamingContextPackage.CannotProceedHelper.write(out, $ex);
          } catch (org.omg.CosNaming.NamingContextPackage.InvalidName $ex) {
            out = $rh.createExceptionReply();
            org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.write(out, $ex);
          } catch (org.omg.CosNaming.NamingContextPackage.AlreadyBound $ex) {
            out = $rh.createExceptionReply();
            org.omg.CosNaming.NamingContextPackage.AlreadyBoundHelper.write(out, $ex);
          }
          break;
        }

        /**
         * Names an object that is a naming context. Naming contexts that are bound using
         * bind_context() participate in name resolution when compound names are passed to be
         * resolved.
         *
         * @param n Name of the object
         *     <p>
         * @param nc NamingContect object to bind with the given name
         *     <p>
         * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not
         *     identify a binding.
         *     <p>
         * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the
         *     implementation has given up for some reason. The client, however, may be able to
         *     continue the operation at the returned naming context.
         *     <p>
         * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is
         *     invalid.
         *     <p>
         * @exception org.omg.CosNaming.NamingContextPackage.AlreadyBound Indicates an object is
         *     already bound to the specified name.
         *     <p>
         */
      case 1: // CosNaming/NamingContext/bind_context
        {
          try {
            org.omg.CosNaming.NameComponent n[] = org.omg.CosNaming.NameHelper.read(in);
            org.omg.CosNaming.NamingContext nc = org.omg.CosNaming.NamingContextHelper.read(in);
            this.bind_context(n, nc);
            out = $rh.createReply();
          } catch (org.omg.CosNaming.NamingContextPackage.NotFound $ex) {
            out = $rh.createExceptionReply();
            org.omg.CosNaming.NamingContextPackage.NotFoundHelper.write(out, $ex);
          } catch (org.omg.CosNaming.NamingContextPackage.CannotProceed $ex) {
            out = $rh.createExceptionReply();
            org.omg.CosNaming.NamingContextPackage.CannotProceedHelper.write(out, $ex);
          } catch (org.omg.CosNaming.NamingContextPackage.InvalidName $ex) {
            out = $rh.createExceptionReply();
            org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.write(out, $ex);
          } catch (org.omg.CosNaming.NamingContextPackage.AlreadyBound $ex) {
            out = $rh.createExceptionReply();
            org.omg.CosNaming.NamingContextPackage.AlreadyBoundHelper.write(out, $ex);
          }
          break;
        }

        /**
         * Creates a binding of a name and an object in the naming context even if the name is
         * already bound in the context. Naming contexts that are bound using rebind do not
         * participate in name resolution when compound names are passed to be resolved.
         *
         * @param n Name of the object
         *     <p>
         * @param obj The Object to rebind with the given name
         *     <p>
         * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not
         *     identify a binding.
         *     <p>
         * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the
         *     implementation has given up for some reason. The client, however, may be able to
         *     continue the operation at the returned naming context.
         *     <p>
         * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is
         *     invalid.
         *     <p>
         */
      case 2: // CosNaming/NamingContext/rebind
        {
          try {
            org.omg.CosNaming.NameComponent n[] = org.omg.CosNaming.NameHelper.read(in);
            org.omg.CORBA.Object obj = org.omg.CORBA.ObjectHelper.read(in);
            this.rebind(n, obj);
            out = $rh.createReply();
          } catch (org.omg.CosNaming.NamingContextPackage.NotFound $ex) {
            out = $rh.createExceptionReply();
            org.omg.CosNaming.NamingContextPackage.NotFoundHelper.write(out, $ex);
          } catch (org.omg.CosNaming.NamingContextPackage.CannotProceed $ex) {
            out = $rh.createExceptionReply();
            org.omg.CosNaming.NamingContextPackage.CannotProceedHelper.write(out, $ex);
          } catch (org.omg.CosNaming.NamingContextPackage.InvalidName $ex) {
            out = $rh.createExceptionReply();
            org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.write(out, $ex);
          }
          break;
        }

        /**
         * Creates a binding of a name and a naming context in the naming context even if the name
         * is already bound in the context. Naming contexts that are bound using rebind_context()
         * participate in name resolution when compound names are passed to be resolved.
         *
         * @param n Name of the object
         *     <p>
         * @param nc NamingContect object to rebind with the given name
         *     <p>
         * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not
         *     identify a binding.
         *     <p>
         * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the
         *     implementation has given up for some reason. The client, however, may be able to
         *     continue the operation at the returned naming context.
         *     <p>
         * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is
         *     invalid.
         *     <p>
         */
      case 3: // CosNaming/NamingContext/rebind_context
        {
          try {
            org.omg.CosNaming.NameComponent n[] = org.omg.CosNaming.NameHelper.read(in);
            org.omg.CosNaming.NamingContext nc = org.omg.CosNaming.NamingContextHelper.read(in);
            this.rebind_context(n, nc);
            out = $rh.createReply();
          } catch (org.omg.CosNaming.NamingContextPackage.NotFound $ex) {
            out = $rh.createExceptionReply();
            org.omg.CosNaming.NamingContextPackage.NotFoundHelper.write(out, $ex);
          } catch (org.omg.CosNaming.NamingContextPackage.CannotProceed $ex) {
            out = $rh.createExceptionReply();
            org.omg.CosNaming.NamingContextPackage.CannotProceedHelper.write(out, $ex);
          } catch (org.omg.CosNaming.NamingContextPackage.InvalidName $ex) {
            out = $rh.createExceptionReply();
            org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.write(out, $ex);
          }
          break;
        }

        /**
         * The resolve operation is the process of retrieving an object bound to a name in a given
         * context. The given name must exactly match the bound name. The naming service does not
         * return the type of the object. Clients are responsible for "narrowing" the object to the
         * appropriate type. That is, clients typically cast the returned object from Object to a
         * more specialized interface.
         *
         * @param n Name of the object
         *     <p>
         * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not
         *     identify a binding.
         *     <p>
         * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the
         *     implementation has given up for some reason. The client, however, may be able to
         *     continue the operation at the returned naming context.
         *     <p>
         * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is
         *     invalid.
         *     <p>
         */
      case 4: // CosNaming/NamingContext/resolve
        {
          try {
            org.omg.CosNaming.NameComponent n[] = org.omg.CosNaming.NameHelper.read(in);
            org.omg.CORBA.Object $result = null;
            $result = this.resolve(n);
            out = $rh.createReply();
            org.omg.CORBA.ObjectHelper.write(out, $result);
          } catch (org.omg.CosNaming.NamingContextPackage.NotFound $ex) {
            out = $rh.createExceptionReply();
            org.omg.CosNaming.NamingContextPackage.NotFoundHelper.write(out, $ex);
          } catch (org.omg.CosNaming.NamingContextPackage.CannotProceed $ex) {
            out = $rh.createExceptionReply();
            org.omg.CosNaming.NamingContextPackage.CannotProceedHelper.write(out, $ex);
          } catch (org.omg.CosNaming.NamingContextPackage.InvalidName $ex) {
            out = $rh.createExceptionReply();
            org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.write(out, $ex);
          }
          break;
        }

        /**
         * The unbind operation removes a name binding from a context.
         *
         * @param n Name of the object
         *     <p>
         * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not
         *     identify a binding.
         *     <p>
         * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the
         *     implementation has given up for some reason. The client, however, may be able to
         *     continue the operation at the returned naming context.
         *     <p>
         * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is
         *     invalid.
         *     <p>
         */
      case 5: // CosNaming/NamingContext/unbind
        {
          try {
            org.omg.CosNaming.NameComponent n[] = org.omg.CosNaming.NameHelper.read(in);
            this.unbind(n);
            out = $rh.createReply();
          } catch (org.omg.CosNaming.NamingContextPackage.NotFound $ex) {
            out = $rh.createExceptionReply();
            org.omg.CosNaming.NamingContextPackage.NotFoundHelper.write(out, $ex);
          } catch (org.omg.CosNaming.NamingContextPackage.CannotProceed $ex) {
            out = $rh.createExceptionReply();
            org.omg.CosNaming.NamingContextPackage.CannotProceedHelper.write(out, $ex);
          } catch (org.omg.CosNaming.NamingContextPackage.InvalidName $ex) {
            out = $rh.createExceptionReply();
            org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.write(out, $ex);
          }
          break;
        }

        /**
         * The list operation allows a client to iterate through a set of bindings in a naming
         * context.
         *
         * <p>The list operation returns at most the requested number of bindings in BindingList bl.
         *
         * <ul>
         *   <li>If the naming context contains additional bindings, the list operation returns a
         *       BindingIterator with the additional bindings.
         *   <li>If the naming context does not contain additional bindings, the binding iterator is
         *       a nil object reference.
         * </ul>
         *
         * @param how_many the maximum number of bindings to return
         *     <p>
         * @param bl the returned list of bindings
         *     <p>
         * @param bi the returned binding iterator
         *     <p>
         */
      case 6: // CosNaming/NamingContext/list
        {
          int how_many = in.read_ulong();
          org.omg.CosNaming.BindingListHolder bl = new org.omg.CosNaming.BindingListHolder();
          org.omg.CosNaming.BindingIteratorHolder bi =
              new org.omg.CosNaming.BindingIteratorHolder();
          this.list(how_many, bl, bi);
          out = $rh.createReply();
          org.omg.CosNaming.BindingListHelper.write(out, bl.value);
          org.omg.CosNaming.BindingIteratorHelper.write(out, bi.value);
          break;
        }

        /**
         * This operation returns a naming context implemented by the same naming server as the
         * context on which the operation was invoked. The new context is not bound to any name.
         */
      case 7: // CosNaming/NamingContext/new_context
        {
          org.omg.CosNaming.NamingContext $result = null;
          $result = this.new_context();
          out = $rh.createReply();
          org.omg.CosNaming.NamingContextHelper.write(out, $result);
          break;
        }

        /**
         * This operation creates a new context and binds it to the name supplied as an argument.
         * The newly-created context is implemented by the same naming server as the context in
         * which it was bound (that is, the naming server that implements the context denoted by the
         * name argument excluding the last component).
         *
         * @param n Name of the object
         *     <p>
         * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not
         *     identify a binding.
         *     <p>
         * @exception org.omg.CosNaming.NamingContextPackage.AlreadyBound Indicates an object is
         *     already bound to the specified name.
         *     <p>
         * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the
         *     implementation has given up for some reason. The client, however, may be able to
         *     continue the operation at the returned naming context.
         *     <p>
         * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is
         *     invalid.
         *     <p>
         */
      case 8: // CosNaming/NamingContext/bind_new_context
        {
          try {
            org.omg.CosNaming.NameComponent n[] = org.omg.CosNaming.NameHelper.read(in);
            org.omg.CosNaming.NamingContext $result = null;
            $result = this.bind_new_context(n);
            out = $rh.createReply();
            org.omg.CosNaming.NamingContextHelper.write(out, $result);
          } catch (org.omg.CosNaming.NamingContextPackage.NotFound $ex) {
            out = $rh.createExceptionReply();
            org.omg.CosNaming.NamingContextPackage.NotFoundHelper.write(out, $ex);
          } catch (org.omg.CosNaming.NamingContextPackage.AlreadyBound $ex) {
            out = $rh.createExceptionReply();
            org.omg.CosNaming.NamingContextPackage.AlreadyBoundHelper.write(out, $ex);
          } catch (org.omg.CosNaming.NamingContextPackage.CannotProceed $ex) {
            out = $rh.createExceptionReply();
            org.omg.CosNaming.NamingContextPackage.CannotProceedHelper.write(out, $ex);
          } catch (org.omg.CosNaming.NamingContextPackage.InvalidName $ex) {
            out = $rh.createExceptionReply();
            org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.write(out, $ex);
          }
          break;
        }

        /**
         * The destroy operation deletes a naming context. If the naming context contains bindings,
         * the NotEmpty exception is raised.
         *
         * @exception org.omg.CosNaming.NamingContextPackage.NotEmpty Indicates that the Naming
         *     Context contains bindings.
         */
      case 9: // CosNaming/NamingContext/destroy
        {
          try {
            this.destroy();
            out = $rh.createReply();
          } catch (org.omg.CosNaming.NamingContextPackage.NotEmpty $ex) {
            out = $rh.createExceptionReply();
            org.omg.CosNaming.NamingContextPackage.NotEmptyHelper.write(out, $ex);
          }
          break;
        }

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

    return out;
  } // _invoke