### Question:
FlowConfig implements Jsonable, JsonPostProcessing { public synchronized FlowApp getFlowApp(String stage, String appId) { stage = normaliseStageName(stage); if (allStagesMap.containsKey(stage)) { return findAppInList(allStagesMap.get(stage).getFlowApps(), appId); } return null; } FlowConfig();  FlowConfig(String name, String type, int version, int apiMajorVersion, String description, String restrictedToApp,
                      List<FlowStage> stages, boolean processInBackground, boolean allowZeroAmounts); @NonNull String getName(); @NonNull String getType(); int getVersion(); int getApiMajorVersion(); @Nullable String getDescription(); boolean hasAppRestriction(); boolean isClientAppAllowed(String clientPackageName); List<FlowStage> getStages(boolean flattened); String getRequestClass(); boolean shouldProcessInBackground(); boolean shouldAllowZeroAmounts(); boolean isGeneratedFromCustomType(); void setGeneratedFromCustomType(boolean generatedFromCustomType); synchronized Set<String> getAllStageNames(); synchronized FlowStage getStage(String stageName); synchronized boolean hasStage(String stage); synchronized boolean hasAppForStage(String stage); synchronized boolean hasAppForStage(String appId, String stage); List<FlowApp> getAppsForStage(String stageName); FlowApp getFirstAppForStage(String stageName); boolean containsApp(String flowAppId); synchronized FlowApp getFlowApp(String stage, String appId); void setApps(String stage, List<FlowApp> flowApps); @Override String toJson(); @Override void onJsonDeserialisationCompleted(); static FlowConfig fromJson(String json); @Override boolean equals(Object o); @Override int hashCode(); static final String REQUEST_CLASS_GENERIC; static final String REQUEST_CLASS_PAYMENT; }### Answer:
@Test public void checkCanGetAppForSpecifiedStage() { setupDefaultFlowApps(); FlowApp app = flowConfig.getFlowApp("cauliflower", "hydrogen"); assertThat(app).isNotNull(); assertThat(app.getId()).isEqualTo("hydrogen"); }