docs: @Override
      public boolean create() {
          if (wrappedFile.exists())
              return false;
  
          boolean success = true;
  
          switch (type) {
              default:
              case FILE:
                  if (!wrappedFile.getParentFile().exists())
                      success = FileUtils.ensureDirExists(wrappedFile.getParentFile());
                  else if (!wrappedFile.getParentFile().isDirectory())
                      return false;
  
                  if (success) {
                      try {
                          success = wrappedFile.createNewFile();
                      } catch (IOException e) {
                          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                              Tr.debug(tc, "IOException creating file", wrappedFile, e);
                          return false;
                      }
                  }
                  break;
  
              case DIRECTORY:
                  if (wrappedFile.getParentFile().exists() && !wrappedFile.getParentFile().isDirectory())
                      return false;
  
                  success = wrappedFile.mkdirs();
                  break;
          }
  
          return success;
      }