code: @Override
      public void onExecute(StreamMessage input)
      {
          // データ取得前実行処理を実行
          onLookupBefore(input);
  
          K lookupKey = null;
          try
          {
              lookupKey = this.mapper.convertToKey(input);
          }
          catch (ConvertFailException ex)
          {
              String messageFormat = "Tuple convert to key failed. Skip lookup. : InputTuple={0}";
              String errorMessage = MessageFormat.format(messageFormat, input.toString());
              logger.warn(errorMessage, ex);
          }
  
          V lookupValue = null;
          if (lookupKey != null)
          {
              try
              {
                  lookupValue = this.cacheHelper.getCache().get(lookupKey);
              }
              catch (Exception ex)
              {
                  String messageFormat = "Cache lookup failed. Continue execute. : InputTuple={0}";
                  String errorMessage = MessageFormat.format(messageFormat, input.toString());
                  logger.warn(errorMessage, ex);
              }
          }
  
          // データ取得後実行処理を実行
          onLookupAfter(input, lookupKey, lookupValue);
      }
docs: {@inheritDoc}