public Boolean isVMNameAvailable(final String vmName) throws VMWareException {
        ServiceInstance si = null;

        try {
            si = this.getServerInstance();
            Folder rootFolder = si.getRootFolder();
            VirtualMachine vm = (VirtualMachine) new InventoryNavigator(rootFolder).searchManagedEntity("VirtualMachine", vmName);

            if (vm == null)
                return Boolean.TRUE;
            else
                return Boolean.FALSE;

        } catch (PlatformConfigFault f) {
            throw new VMWareException(f);
        } catch (RemoteException exc) {
            throw new VMWareException(exc);
        } catch (Exception exc) {
            throw new VMWareException(exc);
        }
    }