﻿# V6084\. Suspicious return of an always empty collection\.

The analyzer has detected a 'return' statement that returns an always empty collection defined as a local variable\.

This typically happens when you forget to add elements to the collection:

```cpp
public List<Property> getProperties()
{
  List<Property> properties = new ArrayList<>();
  Property p1 = new Property();
  p1.setName("property1");
  p1.setValue(42);
  return properties;
}
```

The program will create an object of the appropriate type, but since the call 'properties\.add\(p1\)' is missing, the 'getProperties' method will return incorrect data\. Fixed code:

```cpp
public List<Property> getProperties()
{
  List<Property> properties = new ArrayList<>();
  Property p1 = new Property();
  p1.setName("property1");
  p1.setValue(42);
  properties.add(p1);              // <=
  return properties;
}
```

When you need to return an empty collection, do so explicitly:

```cpp
public List<Property> getMutableProperties()
{
  return new ArrayList<>();
}
public List<Property> getImmutableProperties()
{
  return Collections.emptyList();
}
```