import java.util.Optional;
public class Squid2583 {
private boolean isSpecial(MyObject obj) {
return obj.getMyString().contains("B") && noEmptyNodeNames(obj) && foo(); // FP might be raised here because of optional in noEmptyNodeName method
}
private boolean noEmptyNodeNames(MyObject obj) {
return obj.getValueOne().isPresent() && obj.getValueTwo().isPresent(); // constraint cleanup can cause absence of yields which can lead to FP.
}
public static final class MyObject {
private String myString;
private final Optional<String> valueOne;
private final Optional<String> valueTwo;
public MyObject() {
}
public String getMyString() {
return myString;
}
public Optional<String> getValueOne() {
return valueOne;
}
public Optional<String> getValueTwo() {
return valueTwo;
}
}
}