// 
// Decompiled by Procyon v0.6.0
// 

package org.bouncycastle.oer;

public class DeferredElementSupplier implements ElementSupplier
{
    private final OERDefinition.Builder src;
    private Element buildProduct;
    
    public DeferredElementSupplier(final OERDefinition.Builder src) {
        this.src = src;
    }
    
    @Override
    public Element build() {
        synchronized (this) {
            if (this.buildProduct == null) {
                this.buildProduct = this.src.build();
            }
            return this.buildProduct;
        }
    }
}
