private static void buildPath(HashMap m, String p) {
        boolean isEvent = false;
        if(p.contains("@")) {
            String[] components = p.split("@");
            int cl = components.length;
            buildNestedBuckets(m, components[0]);
            if(cl == 2) {
                if(p.contains("!")) isEvent = true;
                HashMap pointer = traverseToPoint(m, components[0]);
                String d;
                if(isEvent) {
                    String[] temp = components[1].split("!");
                    d = temp[0];
                } else {
                    d = components[1];
                }
                if( ! pointer.containsKey(d) ) 
                    pointer.put(d, new ArrayList());
            }
        } 
    }
private static void buildPath ( HashMap m , String p ) { boolean isEvent = false ; if ( p . contains ( "@" ) ) { String [ ] components = p . split ( "@" ) ; int cl = components . length ; buildNestedBuckets ( m , components [ 0 ] ) ; if ( cl == 2 ) { if ( p . contains ( "!" ) ) isEvent = true ; HashMap pointer = traverseToPoint ( m , components [ 0 ] ) ; String d ; if ( isEvent ) { String [ ] temp = components [ 1 ] . split ( "!" ) ; d = temp [ 0 ] ; } else { d = components [ 1 ] ; } if ( ! pointer . containsKey ( d ) ) pointer . put ( d , new ArrayList ( ) ) ; } } }
Creates a nested path, if not already present in the map. This does not
support multipath definitions. Please split prior to sending the path to
this function.

@param m The map to create the path inside of.
@param p The full path to create.