private String[] parentKey(String name,int idx){
  String[] parts=name.split("\\.");
  if (idx > parts.length)   return null;
  String parent="";
  String key=null;
  if (idx < parts.length)   key=parts[idx];
  for (int i=0; i < idx; i++) {
    parent=parent.length() > 0 ? parent + "." + parts[i] : parts[i];
  }
  return new String[]{parent,key};
}

private String [ ] parentKey ( String name , int idx ) { String [ ] parts = name . split ( "\\." ) ; if ( idx > parts . length ) return null ; String parent = "" ; String key = null ; if ( idx < parts . length ) key = parts [ idx ] ; for ( int i = 0 ; i < idx ; i ++ ) { parent = parent . length ( ) > 0 ? parent + "." + parts [ i ] : parts [ i ] ; } return new String [ ] { parent , key } ; }
splits a name formatted like a . b . c into a parent ' a . b ' and key ' c ' for a given index ( 2 in this example )
