public V getOrCreate(K1 key1, K2 key2, K3 key3, K4 key4) {
    """
	Method to get existing [key1,key2,key3,key4] value or create new one if it's
	absent. Needs implementation of create(key1,key2,key3,key4) in order to work
    """
        // already got it?
        MultiKey multi_key = new MultiKey(key1, key2, key3, key4);
        if (containsKey(multi_key))
            return get(multi_key);
        
        // if not, create and add it
        V result = create(key1, key2, key3, key4);
        put(multi_key, result);
        return result;
    }
public V getOrCreate(K1 key1, K2 key2, K3 key3, K4 key4)
    {
        // already got it?
        MultiKey multi_key = new MultiKey(key1, key2, key3, key4);
        if (containsKey(multi_key))
            return get(multi_key);
        
        // if not, create and add it
        V result = create(key1, key2, key3, key4);
        put(multi_key, result);
        return result;
    }
public V getOrCreate ( K1 key1 , K2 key2 , K3 key3 , K4 key4 ) { // already got it?
 MultiKey multi_key = new MultiKey ( key1 , key2 , key3 , key4 ) ; if ( containsKey ( multi_key ) ) return get ( multi_key ) ; // if not, create and add it
 V result = create ( key1 , key2 , key3 , key4 ) ; put ( multi_key , result ) ; return result ; }
Method to get existing [key1,key2,key3,key4] value or create new one if it's
absent. Needs implementation of create(key1,key2,key3,key4) in order to work
Method to get existing [ key1 key2 key3 key4 ] value or create new one if it s absent . Needs implementation of create ( key1 key2 key3 key4 ) in order to work