class EntityIndependentInitializedValueSelector<Solution_>
        extends InitializedValueSelector<Solution_>
        implements EntityIndependentValueSelector<Solution_> {

    public EntityIndependentInitializedValueSelector(EntityIndependentValueSelector<Solution_> childValueSelector) {
        super(childValueSelector);
    }

    @Override
    public long getSize() {
        return ((EntityIndependentValueSelector<Solution_>) childValueSelector).getSize();
    }

    @Override
    public Iterator<Object> iterator() {
        return new JustInTimeInitializedValueIterator(
                ((EntityIndependentValueSelector<Solution_>) childValueSelector).iterator(), determineBailOutSize());
    }

    protected long determineBailOutSize() {<FILL_FUNCTION_BODY>}

}

        if (!bailOutEnabled) {
            return -1L;
        }
        return ((EntityIndependentValueSelector<Solution_>) childValueSelector).getSize() * 10L;
    
<methods>public static ValueSelector<Solution_> create(ValueSelector<Solution_>) ,public Iterator<java.lang.Object> endingIterator(java.lang.Object) ,public boolean equals(java.lang.Object) ,public long getSize(java.lang.Object) ,public GenuineVariableDescriptor<Solution_> getVariableDescriptor() ,public int hashCode() ,public boolean isCountable() ,public boolean isNeverEnding() ,public Iterator<java.lang.Object> iterator(java.lang.Object) ,public java.lang.String toString() <variables>final non-sealed boolean bailOutEnabled,final non-sealed ValueSelector<Solution_> childValueSelector,private final non-sealed GenuineVariableDescriptor<Solution_> variableDescriptor