code: static File valueAsFile(Map<String, Object> map, Key key, File basedir, File defaultValue) {
          String value = valueAsString(map, key, null);
          if (Validate.isNullOrEmpty(value)) {
              return defaultValue;
          }
  
          File candidate = new File(value);
          if (!candidate.isAbsolute() && (basedir != null && basedir.exists())) {
              return new File(basedir, candidate.getPath());
          }
          return candidate;
      }
docs: Fetches a value specified by key
  
  @param map XPP3 map equivalent
  @param key navigation key
  @param basedir basedir can be different from current basedir
  @param defaultValue Default value if no such key exists
  @return File representation of the value