public function enumerateGets()
    {
        foreach ($this->gets as $get) {
            $outProperty = $get->getOutputProperty();
            $property = $get->getProperty();
            $section = $get->getSection();
            $value = '';

            if ($property === null) {
                throw new BuildException("property must be set");
            }
            if ($outProperty === null) {
                throw new BuildException("outputproperty must be set");
            }
            if ($section === null) {
                throw new BuildException("section must be set");
            }
            try {
                $value = $this->ini->get($section, $property);
            } catch (RuntimeException $ex) {
                $this->logDebugOrMore(
                    sprintf(
                        '%s: section = %s; key = %s',
                        $ex->getMessage(),
                        $section,
                        $property
                    )
                );
            } finally {
                if ($value === '') {
                    $value = $get->getDefault();
                }
            }

            $project = $this->getProject();
            $project->setProperty($outProperty, $value);
            $this->logDebugOrMore(
                sprintf(
                    'Set property %s to value \'%s\' read from key %s in section %s',
                    $outProperty,
                    $value,
                    $property,
                    $section
                )
            );
        }
    }