code: public ProcessedInput processInput(String originalSql, Map<String, Object> params) {
          ProcessedInput processedInput = getProcessedInputsFromCache(originalSql);
          String preProcessedSql = null;
  
          if (processedInput.getParsedSql() == null) {
              // removing comments and text blocks
              preProcessedSql = removeBlocks(originalSql);
  
              // parsing sql(without comments and text blocks)
              processedInput = parseSqlString(preProcessedSql, processedInput);
  
              // saving generated processed input into cache
              putProcessedInputToCache(processedInput);
          }
  
          AssertUtils.assertNotNull(processedInput.getParsedSql());
  
          // set sql parameter values if not null
          if (params != null) {
              processedInput.fillParameterValues(params);
          }
  
          return processedInput;
      }
docs: {@inheritDoc}