private RubyMethodGroupInfo/*!*/ MakeGroup(IEnumerable<OverloadInfo/*!*/>/*!*/ members, int visibleMemberCount, bool specialNameOnly, bool isDetached) {
var allMethods = new OverloadInfo[visibleMemberCount];
int i = 0;
foreach (var method in members) {
if (IsVisible(method.Attributes, method.DeclaringType, specialNameOnly)) {
allMethods[i++] = method;
}
}
return isDetached ?
new RubyMethodGroupInfo(allMethods, this, _isSingletonClass) :
new RubyOverloadGroupInfo(allMethods, this, null, _isSingletonClass);
}