code: List<V> get( K key ) {
          List<V> result = map.get( key );
          if( parent != null ) {
              List<V> resultParent = parent.get( key );
              if( result == null ) {
                  return resultParent;
              } else if( resultParent == null ){
                  return result;
              } else {
                  for( V value : resultParent ) {
                      if( !result.contains( value ) ) {
                          result.add( value );
                      }
                  }
              }
          }
          return result;
      }
docs: Get all values for the given key. If no key exists then null is return.
  
  @param key
  the key
  @return the list or null