private void removeKeys(Hashtable themeRes,String uiid){
  if (uiid == null || uiid.length() == 0) {
    for (    Object k : themeRes.keySet()) {
      String key=(String)k;
      if (key.indexOf('.') > -1 || key.indexOf('#') > -1 || key.indexOf('@') > -1) {
        continue;
      }
      themeRes.remove(key);
      removeKeys(themeRes,uiid);
      return;
    }
    return;
  }
  for (  Object k : themeRes.keySet()) {
    String key=(String)k;
    if (key.startsWith(uiid)) {
      if (prefix.length() == 0 && key.indexOf('#') > 0) {
        continue;
      }
      themeRes.remove(key);
      removeKeys(themeRes,uiid);
      return;
    }
  }
}

private void removeKeys ( Hashtable themeRes , String uiid ) { if ( uiid == null || uiid . length ( ) == 0 ) { for ( Object k : themeRes . keySet ( ) ) { String key = ( String ) k ; if ( key . indexOf ( '.' ) > - 1 || key . indexOf ( '#' ) > - 1 || key . indexOf ( '@' ) > - 1 ) { continue ; } themeRes . remove ( key ) ; removeKeys ( themeRes , uiid ) ; return ; } return ; } for ( Object k : themeRes . keySet ( ) ) { String key = ( String ) k ; if ( key . startsWith ( uiid ) ) { if ( prefix . length ( ) == 0 && key . indexOf ( '#' ) > 0 ) { continue ; } themeRes . remove ( key ) ; removeKeys ( themeRes , uiid ) ; return ; } } }
method used to prevent the concurrent modification exception when changing the iterated keyset
