docs: @Override
      public List<String> applyToMap( Map<String, Object> inputMap ) {
          if ( inputMap == null ) {
              return null;
          }
  
          List<String> keysToBeRemoved = new LinkedList<>();
  
          if ( pathElement instanceof LiteralPathElement ) {
  
              // if we are a literal, check to see if we match
              if ( inputMap.containsKey( pathElement.getRawKey() ) ) {
                  keysToBeRemoved.add( pathElement.getRawKey() );
              }
          }
          else if ( pathElement instanceof StarPathElement ) {
  
              StarPathElement star = (StarPathElement) pathElement;
  
              // if we are a wildcard, check each input key to see if it matches us
              for( String key : inputMap.keySet() ) {
  
                  if ( star.stringMatch( key ) ) {
                      keysToBeRemoved.add( key );
                  }
              }
          }
  
          return keysToBeRemoved;
      }