code: public List<AutoScalingGroup> getAutoScalingGroupsWithTag(Tag tag) {
  
      final AmazonAutoScaling autoScaling = getAmazonAutoScalingClient();
  
      final DescribeAutoScalingGroupsRequest describeAutoScalingGroupsRequest = new DescribeAutoScalingGroupsRequest();
  
      final List<AutoScalingGroup> allAutoScalingGroups = autoScaling
          .describeAutoScalingGroups(describeAutoScalingGroupsRequest)
          .getAutoScalingGroups();
  
      final List<AutoScalingGroup> filteredAutoScalingGroups = Lists.newArrayList();
      for (AutoScalingGroup autoScalingGroup : allAutoScalingGroups) {
        for (TagDescription tagDescription : autoScalingGroup.getTags()) {
          if (tagDescription.getKey().equalsIgnoreCase(tag.getKey()) &&
              tagDescription.getValue().equalsIgnoreCase(tag.getValue())) {
            filteredAutoScalingGroups.add(autoScalingGroup);
          }
        }
      }
  
      return filteredAutoScalingGroups;
    }
docs: *
  Get list of {@link AutoScalingGroup}s for a given tag
  
  @param tag Tag to filter the auto scaling groups
  @return List of {@link AutoScalingGroup}s qualifying the filter tag