final Builder parseExtractor(final LoadRunnerVUVisitor visitor, final MethodCall method, final WarningCallbBack warningCallback) { final String leftBrace = visitor.getLeftBrace(); final String rightBrace = visitor.getRightBrace(); String extractorName = MethodUtils.normalizeString(leftBrace, rightBrace, method.getParameters().get(0)); if (extractorName.startsWith(PARAM_NAME_PREFIX)) { extractorName = extractorName.substring(PARAM_NAME_PREFIX.length()); } final Builder extractBuilder = ImmutableVariableExtractor.builder().name(extractorName); final SearchAttribute searchAttribute = handleSearch(method, warningCallback, leftBrace, rightBrace); extractBuilder.extractType(searchAttribute.getExtractType()); handleLBRB(visitor, method, extractBuilder); handleRegExp(visitor, method, warningCallback, extractBuilder); handleXPath(visitor, method, warningCallback, extractBuilder, searchAttribute); handleJsonPath(visitor, method, warningCallback, extractBuilder, searchAttribute); handleNotFound(method, warningCallback, leftBrace, rightBrace, extractBuilder); logUnsupportedAttributes(method, warningCallback, leftBrace, rightBrace); handleOrd(method, warningCallback, leftBrace, rightBrace, extractBuilder); return extractBuilder; }