private AddServiceInfo recommendLayout(AddServiceInfo request) {
    if (!request.requiresLayoutRecommendation()) {
      LOG.info("Using layout specified in request for {}", request);
      return request;
    }

    LOG.info("Recommending layout for {}", request);
    return stackAdvisorAdapter.recommendLayout(request);
  }
Requests layout recommendation from the stack advisor.
@return new request, updated based on the recommended layout
@throws IllegalArgumentException if the request cannot be satisfied
ambari-server/src/main/java/org/apache/ambari/server/topology/addservice/AddServiceOrchestrator.java