code: @Override
      @Trivial
      public synchronized Collection<File> getFileset() {
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
              Tr.debug(tc, "Retrieving fileSet", pid);
  
          // check if the filters are current
          // and re-evaluate if necessary
          if (!!!this.isCurrent) {
              evaluateFilters();
          }
  
          // check if the cached set can be returned
          // and if not apply the filters to get a new set
          if (!!!this.returnCached) {
              applyFilters();
          }
  
          //return a copied Collection of the fileset so that the caller can modify without
          //destroying the real fileset
          Collection<File> filesetToReturn = new ArrayList<File>(this.fileset.size());
          filesetToReturn.addAll(this.fileset);
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
              Tr.debug(tc, "returning fileset: " + filesetToReturn, pid);
          return filesetToReturn;
      }
docs: {@inheritDoc}