Source:
<code>private Supplier<DruidFloatPredicate> makeFloatPredicateSupplier() { class BoundFloatPredicateSupplier implements Supplier<DruidFloatPredicate> { private final Object initLock = new Object(); private boolean matchesNothing; private DruidFloatPredicate predicate; @Override public DruidFloatPredicate get() { initPredicate(); return predicate; } private void initPredicate() { if (predicate != null) { return; } synchronized (initLock) { if (predicate != null) { return; } final boolean hasLowerFloatBound; final boolean hasUpperFloatBound; final float lowerFloatBound; final float upperFloatBound; matchesNothing = false; if (hasLowerBound()) { final Float lowerFloat = Floats.tryParse(lower); if (lowerFloat == null) { hasLowerFloatBound = false; lowerFloatBound = 0L; } else { hasLowerFloatBound = true; lowerFloatBound = lowerFloat; } } else { hasLowerFloatBound = false; lowerFloatBound = 0L; } if (hasUpperBound()) { Float upperFloat = Floats.tryParse(upper); if (upperFloat == null) { matchesNothing = true; hasUpperFloatBound = false; upperFloatBound = 0L; } else { hasUpperFloatBound = true; upperFloatBound = upperFloat; } } else { hasUpperFloatBound = false; upperFloatBound = 0L; } if (matchesNothing) { predicate = DruidFloatPredicate.FALSE_PREDICATE; } else { predicate = new DruidFloatPredicate() { @Override public boolean applyFloat(float input) { int lowerComparing = 1; int upperComparing = 1; if (hasLowerFloatBound) { lowerComparing = Float.compare(input, lowerFloatBound); } if (hasUpperFloatBound) { upperComparing = Float.compare(upperFloatBound, input); } <START> if (lowerStrict && upperStrict) { <END> return ((lowerComparing > 0)) && (upperComparing > 0); } else if (lowerStrict) { return (lowerComparing > 0) && (upperComparing >= 0); } else if (upperStrict) { return (lowerComparing >= 0) && (upperComparing > 0); } return (lowerComparing >= 0) && (upperComparing >= 0); } }; } } } } return new BoundFloatPredicateSupplier(); }</code><technical_language>remove duplicated codes extracting condition checks</technical_language>

Target:
private Supplier<DruidFloatPredicate> makeFloatPredicateSupplier() { class BoundFloatPredicateSupplier implements Supplier<DruidFloatPredicate> { private final Object initLock = new Object(); private DruidFloatPredicate predicate; @Override public DruidFloatPredicate get() { initPredicate(); return predicate; } private void initPredicate() { if (predicate != null) { return; } synchronized (initLock) { if (predicate != null) { return; } final boolean hasLowerFloatBound; final boolean hasUpperFloatBound; final float lowerFloatBound; final float upperFloatBound; boolean matchesNothing = false; if (hasLowerBound()) { final Float lowerFloat = Floats.tryParse(lower); if (lowerFloat == null) { hasLowerFloatBound = false; lowerFloatBound = 0L; } else { hasLowerFloatBound = true; lowerFloatBound = lowerFloat; } } else { hasLowerFloatBound = false; lowerFloatBound = 0L; } if (hasUpperBound()) { Float upperFloat = Floats.tryParse(upper); if (upperFloat == null) { matchesNothing = true; hasUpperFloatBound = false; upperFloatBound = 0L; } else { hasUpperFloatBound = true; upperFloatBound = upperFloat; } } else { hasUpperFloatBound = false; upperFloatBound = 0L; } if (matchesNothing) { predicate = DruidFloatPredicate.ALWAYS_FALSE; } else { predicate = makeFloatPredicateFromBounds( hasLowerFloatBound, hasUpperFloatBound, lowerStrict, upperStrict, lowerFloatBound, upperFloatBound ); } } } } return new BoundFloatPredicateSupplier(); }