docs: public Set<String> getGroupIds( String parentGroupId )
      {
          Entry parentEntry =
              StringUtils.isEmpty( parentGroupId ) ? backing.getRoot() : backing.get( parentGroupId.replace( '.', '/' ) );
          if ( !( parentEntry instanceof DirectoryEntry ) )
          {
              return Collections.emptySet();
          }
          DirectoryEntry parentDir = (DirectoryEntry) parentEntry;
          Entry[] entries = backing.listEntries( parentDir );
          Set<String> result = new HashSet<String>();
          for ( int i = 0; i < entries.length; i++ )
          {
              if ( entries[i] instanceof DirectoryEntry )
              {
                  result.add( entries[i].getName() );
              }
          }
          return result;
      }