code: @Override
      protected String findValueImpl(JSONObject object,String path)
      {
          //split path to parts
          String[] pathParts=path.split(AbstractMappingHTTPResponseHandler.VALUES_SEPERATOR);
          int pathPartsAmount=pathParts.length;
          String pathPart=null;
          JSONObject currentJSONObject=object;
          String value=null;
          for(int index=0;index<pathPartsAmount;index++)
          {
              //get next path part
              pathPart=pathParts[index];
              
              if(pathPart.length()>0)
              {
                  if(currentJSONObject.isNull(pathPart))
                  {
                      break;
                  }
  
                  try
                  {
                      //if last element
                      if((index+1)==pathPartsAmount)
                      {
                          value=currentJSONObject.getString(pathPart);
                      }
                      else
                      {
                          //get sub object
                          currentJSONObject=currentJSONObject.getJSONObject(pathPart);
                          if(currentJSONObject==null)
                          {
                              break;
                          }
                      }
                  }
                  catch(JSONException exception)
                  {
                      throw new FaxException("Unable to extract JSON data for path: "+path,exception);
                  }
              }
          }
          
          return value;
      }
docs: This function returns the requested value from the object data.<br>
  The path is a set of key names seperated by ';'.
  
  @param   object
  The object holding all the data
  @param   path
  The path to the value (elements seperated by ;)
  @return  The value (null if not found)