Поскольку вы ищете только первый элемент, отфильтруйте «необработанные» элементы, а затем выберите поле, если у вас есть только один объект, например:
tmp = someList.stream()
.filter(i -> i.geFilterField() == someValue && (i.getTargetField() != null || i.getAlterField() != null))
.findFirst()
.orElse(null);
// At this point tmp is either null if nothing is found, or
// it is an object with one or both target fields set to non-null values
result = null;
if (tmp != null) {
result = tmp.getTargetField() != null ? tmp.getTargetField() : tmp.getAlterField();
}