private FindResult findNode(final String path,final boolean create){
  checkModified();
  final ArrayList<String> parts=new ArrayList<>(Arrays.asList(path.split("\\.")));
  JSONObject current=json;
  for (  final String item : parts.subList(0,parts.size() - 1)) {
    if (!current.has(item) && create) {
      current.put(item,new JSONObject());
    }
    current=current.getJSONObject(item);
  }
  return new FindResult(current,parts.get(parts.size() - 1));
}

private FindResult findNode ( final String path , final boolean create ) { checkModified ( ) ; final ArrayList < String > parts = new ArrayList < > ( Arrays . asList ( path . split ( "\\." ) ) ) ; JSONObject current = json ; for ( final String item : parts . subList ( 0 , parts . size ( ) - 1 ) ) { if ( ! current . has ( item ) && create ) { current . put ( item , new JSONObject ( ) ) ; } current = current . getJSONObject ( item ) ; } return new FindResult ( current , parts . get ( parts . size ( ) - 1 ) ) ; }
internal function to find a node with its value .
