code: func parseGShadow(row string) (*GShadow, error) {
  	fields := strings.Split(row, ":")
  	if len(fields) != 4 {
  		return nil, rowError{_GSHADOW_FILE, row}
  	}
  
  	return &GShadow{
  		fields[0],
  		fields[1],
  		strings.Split(fields[2], ","),
  		strings.Split(fields[3], ","),
  	}, nil
  }
docs: // parseGShadow parses the row of a group shadow.