-RT::ObjectCustomFieldValues_Overlay, RT::ObjectCustomFieldValues_Vendor, RT::ObjectCustomFieldValues_Local
+sub HasEntry {
+ my $self = shift;
+ my $value = shift;
+ return undef unless defined $value && length $value;
+
+ #TODO: this could cache and optimize a fair bit.
+ foreach my $item ( @{$self->ItemsArrayRef} ) {
+ return $item if lc $item->Content eq lc $value;
+ }
+ return undef;
+}
+
+sub _DoSearch {
+ my $self = shift;
+
+ # unless we really want to find disabled rows,
+ # make sure we're only finding enabled ones.
+ unless ( $self->{'find_expired_rows'} ) {
+ $self->LimitToEnabled();
+ }
+
+ return $self->SUPER::_DoSearch(@_);
+}
+
+sub _DoCount {
+ my $self = shift;
+
+ # unless we really want to find disabled rows,
+ # make sure we're only finding enabled ones.
+ unless ( $self->{'find_expired_rows'} ) {
+ $self->LimitToEnabled();
+ }
+
+ return $self->SUPER::_DoCount(@_);
+}
+
+
+=head2 NewItem
+
+Returns an empty new RT::ObjectCustomFieldValue item