public DefaultJobProgressStep addLevel(int steps, Object newLevelSource, boolean levelStep)
    {
        assertModifiable();

        this.maximumChildren = steps;
        this.levelSource = newLevelSource;

        if (steps > 0) {
            this.childSize = 1.0D / steps;
        }

        if (this.maximumChildren > 0) {
            this.children = new ArrayList<>(this.maximumChildren);
        } else {
            this.children = new ArrayList<>();
        }

        this.levelStep = levelStep;

        // Create a virtual child
        return new DefaultJobProgressStep(null, newLevelSource, this);
    }
public DefaultJobProgressStep addLevel ( int steps , Object newLevelSource , boolean levelStep ) { assertModifiable ( ) ; this . maximumChildren = steps ; this . levelSource = newLevelSource ; if ( steps > 0 ) { this . childSize = 1.0D / steps ; } if ( this . maximumChildren > 0 ) { this . children = new ArrayList < > ( this . maximumChildren ) ; } else { this . children = new ArrayList < > ( ) ; } this . levelStep = levelStep ; return new DefaultJobProgressStep ( null , newLevelSource , this ) ; }
Add children to the step and return the first one.

@param steps the number of step
@param newLevelSource who asked to create this new level
@param levelStep the new level can contains only one step
@return the new step