class Builder extends Dependency.Builder<Builder> {

		private String configuration;

		protected Builder(String groupId, String artifactId) {
			super(groupId, artifactId);
		}

		/**
		 * Specify the configuration to use for the dependency. Overrides the
		 * {@linkplain DependencyScope scope}.
		 * @param configuration the name of the configuration to use
		 * @return this for method chaining
		 */
		public Builder configuration(String configuration) {
			this.configuration = configuration;
			return self();
		}

		@Override
		protected Builder initialize(Dependency dependency) {<FILL_FUNCTION_BODY>}

		@Override
		public GradleDependency build() {
			return new GradleDependency(this);
		}

	}

			super.initialize(dependency);
			if (dependency instanceof GradleDependency) {
				configuration(((GradleDependency) dependency).getConfiguration());
			}
			return self();
		
<methods>public static Builder<?> from(io.spring.initializr.generator.buildsystem.Dependency) ,public java.lang.String getArtifactId() ,public java.lang.String getClassifier() ,public Set<io.spring.initializr.generator.buildsystem.Dependency.Exclusion> getExclusions() ,public java.lang.String getGroupId() ,public io.spring.initializr.generator.buildsystem.DependencyScope getScope() ,public java.lang.String getType() ,public io.spring.initializr.generator.version.VersionReference getVersion() ,public static Builder<?> withCoordinates(java.lang.String, java.lang.String) <variables>private final non-sealed java.lang.String artifactId,private final non-sealed java.lang.String classifier,private final non-sealed Set<io.spring.initializr.generator.buildsystem.Dependency.Exclusion> exclusions,private final non-sealed java.lang.String groupId,private final non-sealed io.spring.initializr.generator.buildsystem.DependencyScope scope,private final non-sealed java.lang.String type,private final non-sealed io.spring.initializr.generator.version.VersionReference version