boolean (final WrapImpl wrap, LeafBlockWrapper currentBlock) { if (wrap.getWrapOffset() < currentBlock.getStartOffset()) { return true; } if (wrap.isWrapFirstElement()) { return true; } if (wrap.getType() == WrapImpl.Type.WRAP_AS_NEEDED) { return positionAfterWrappingIsSuitable(currentBlock); } return wrap.getType() == WrapImpl.Type.CHOP_IF_NEEDED && lineOver(currentBlock) && positionAfterWrappingIsSuitable(currentBlock); }