# V6084. Suspicious return of an always empty collection.

Анализатор обнаружил выражение 'return', возвращающее всегда пустую коллекцию, которая была определена как локальная переменная.

Чаще всего это происходит из-за того, что в коллекцию забыли добавить элементы:

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

Объект подходящего типа был создан, но разработчик пропустил вызов 'properties.add(p1)', из-за чего метод 'getProperties' возвращает некорректные данные. Исправленный фрагмент кода:

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

В случае, когда необходимо вернуть пустую коллекцию, лучше сделать это явно:

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