Source:
protected boolean checkMetadata() { List<String> command = ImmutableList.<@NonNull String> builder() .addAll(fScriptCommand).add(METADATA_FLAG).build(); TraceCompassLogUtils.traceInstant(LOGGER, Level.INFO, "[LamiAnalysis:RunningMetadataCommand]", "command", command); String output = getOutputFromCommand(command); if (output == null || output.isEmpty()) { return false; } try { JSONObject obj = new JSONObject(output); fAnalysisTitle = obj.getString(LamiStrings.TITLE); JSONObject tableClasses = obj.getJSONObject(LamiStrings.TABLE_CLASSES); @NonNull String[] tableClassNames = checkNotNullContents(JSONObject.getNames(tableClasses)); ImmutableMap.Builder<String, LamiTableClass> tablesBuilder = ImmutableMap.builder(); for (String tableClassName : tableClassNames) { JSONObject tableClass = tableClasses.getJSONObject(tableClassName); final String tableTitle = checkNotNull(tableClass.getString(LamiStrings.TITLE)); @NonNull JSONArray columnDescriptions = checkNotNull(tableClass.getJSONArray(LamiStrings.COLUMN_DESCRIPTIONS)); List<LamiTableEntryAspect> aspects = getAspectsFromColumnDescriptions(columnDescriptions); Collection<LamiChartModel> chartModels = getPredefinedCharts().get(tableClassName); tablesBuilder.put(tableClassName, new LamiTableClass(tableClassName, tableTitle, aspects, chartModels)); } try { fTableClasses = tablesBuilder.build(); } catch (IllegalArgumentException e) { throw new JSONException("Duplicate table class entry in " + fAnalysisTitle); } } catch (JSONException e) { TraceCompassLogUtils.traceInstant(LOGGER, Level.SEVERE, "[LamiAnalysis:ErrorParsingMetadata]", e.getMessage()); return false; } return true; }

Target:
protected boolean checkMetadata() { List<String> command = ImmutableList.<@NonNull String> builder() .addAll(fScriptCommand).add(METADATA_FLAG).build(); TraceCompassLogUtils.traceInstant(LOGGER, Level.INFO, RUNNING_METADATA_COMMAND, COMMAND, command); String output = getOutputFromCommand(command); if (output == null || output.isEmpty()) { return false; } try { JSONObject obj = new JSONObject(output); fAnalysisTitle = obj.getString(LamiStrings.TITLE); JSONObject tableClasses = obj.getJSONObject(LamiStrings.TABLE_CLASSES); @NonNull String[] tableClassNames = checkNotNullContents(JSONObject.getNames(tableClasses)); ImmutableMap.Builder<String, LamiTableClass> tablesBuilder = ImmutableMap.builder(); for (String tableClassName : tableClassNames) { JSONObject tableClass = tableClasses.getJSONObject(tableClassName); final String tableTitle = checkNotNull(tableClass.getString(LamiStrings.TITLE)); @NonNull JSONArray columnDescriptions = checkNotNull(tableClass.getJSONArray(LamiStrings.COLUMN_DESCRIPTIONS)); List<LamiTableEntryAspect> aspects = getAspectsFromColumnDescriptions(columnDescriptions); Collection<LamiChartModel> chartModels = getPredefinedCharts().get(tableClassName); tablesBuilder.put(tableClassName, new LamiTableClass(tableClassName, tableTitle, aspects, chartModels)); } try { fTableClasses = tablesBuilder.build(); } catch (IllegalArgumentException e) { throw new JSONException("Duplicate table class entry in " + fAnalysisTitle); } } catch (JSONException e) { TraceCompassLogUtils.traceInstant(LOGGER, Level.WARNING, ERROR_PARSING_METADATA, e.getMessage()); return false; } return true; }