public static GetApplicationsRequest NewInstance(ApplicationsRequestScope scope,
                                                         ICollection <string> users, ICollection <string> queues, ICollection <string> applicationTypes
                                                         , ICollection <string> applicationTags, EnumSet <YarnApplicationState> applicationStates
                                                         , LongRange startRange, LongRange finishRange, long limit)
        {
            GetApplicationsRequest request = Org.Apache.Hadoop.Yarn.Util.Records.NewRecord <GetApplicationsRequest
                                                                                            >();

            if (scope != null)
            {
                request.SetScope(scope);
            }
            request.SetUsers(users);
            request.SetQueues(queues);
            request.SetApplicationTypes(applicationTypes);
            request.SetApplicationTags(applicationTags);
            request.SetApplicationStates(applicationStates);
            if (startRange != null)
            {
                request.SetStartRange(startRange.GetMinimumLong(), startRange.GetMaximumLong());
            }
            if (finishRange != null)
            {
                request.SetFinishRange(finishRange.GetMinimumLong(), finishRange.GetMaximumLong()
                                       );
            }
            if (limit != null)
            {
                request.SetLimit(limit);
            }
            return(request);
        }
 private void MergeLocalToBuilder()
 {
     if (applicationTypes != null && !applicationTypes.IsEmpty())
     {
         builder.ClearApplicationTypes();
         builder.AddAllApplicationTypes(applicationTypes);
     }
     if (applicationStates != null && !applicationStates.IsEmpty())
     {
         builder.ClearApplicationStates();
         builder.AddAllApplicationStates(Iterables.Transform(applicationStates, new _Function_91
                                                                 ()));
     }
     if (applicationTags != null && !applicationTags.IsEmpty())
     {
         builder.ClearApplicationTags();
         builder.AddAllApplicationTags(this.applicationTags);
     }
     if (scope != null)
     {
         builder.SetScope(ProtoUtils.ConvertToProtoFormat(scope));
     }
     if (start != null)
     {
         builder.SetStartBegin(start.GetMinimumLong());
         builder.SetStartEnd(start.GetMaximumLong());
     }
     if (finish != null)
     {
         builder.SetFinishBegin(finish.GetMinimumLong());
         builder.SetFinishEnd(finish.GetMaximumLong());
     }
     if (limit != long.MaxValue)
     {
         builder.SetLimit(limit);
     }
     if (users != null && !users.IsEmpty())
     {
         builder.ClearUsers();
         builder.AddAllUsers(users);
     }
     if (queues != null && !queues.IsEmpty())
     {
         builder.ClearQueues();
         builder.AddAllQueues(queues);
     }
 }