code: func parseFilters(v []string) ([]Filter, error) {
  	fs := make([]Filter, 0, len(v))
  	for _, s := range v {
  		p := strings.Index(s, "(")
  		if p < 0 {
  			return nil, fmt.Errorf("Incorrect syntax in filter parameters, missing (")
  		}
  
  		if strings.Index(s, ")") != len(s)-1 {
  			return nil, fmt.Errorf("Incorrect syntax in filter parameters, missing )")
  		}
  
  		t := Unknown.From(s[:p])
  		if t == Unknown {
  			return nil, fmt.Errorf("Unknown filter type")
  		}
  
  		command := s[p+1 : len(s)-1]
  
  		switch t {
  		case Label:
  			proto := strings.SplitN(command, ":", 2)
  			if len(proto) < 2 {
  				return nil, fmt.Errorf("Missing : from label filter")
  			}
  			r, err := regexp.Compile(proto[1])
  			if err != nil {
  				return nil, err
  			}
  			fs = append(fs, labelFilter(proto[0], r))
  			break
  		case Name:
  			r, err := regexp.Compile(command)
  			if err != nil {
  				return nil, err
  			}
  			fs = append(fs, nameFilter(r))
  			break
  		}
  	}
  	return fs, nil
  }
docs: // If Heapster gets filters, remove these..