GetOpts/src/main/java/everyos/api/getopts/imp/FlagBuilderImp.java
package everyos.api.getopts.imp; import everyos.api.getopts.Flag;import everyos.api.getopts.FlagBuilder; public class FlagBuilderImp implements FlagBuilder { private final String name; private int id = Flag.ID_UNSET; private boolean mandatory = false; private int numberRequiredArguments = 0; private int numberOptionalArguments = 0; private String[] alias = new String[0]; private String description = "Undocumented"; private boolean allowDuplicates = false; public FlagBuilderImp(String name) { this.name = name; } @Override public FlagBuilder setMandatory(boolean mandatory) { this.mandatory = mandatory; return this; } @Override public FlagBuilder setAllowDuplicates(boolean allowDuplicates) { this.allowDuplicates = allowDuplicates; return this; } @Override public FlagBuilder setNumberRequiredArguments(int numberArguments) { this.numberRequiredArguments = numberArguments; return this; } @Override public FlagBuilder setNumberOptionalArguments(int numberOptionalArguments) { this.numberOptionalArguments = numberOptionalArguments; return this; } @Override public FlagBuilder setID(int id) { this.id = id; return this; } @Override public FlagBuilder setAlias(String... alias) { this.alias = alias; return this; } @Override public FlagBuilder setDescription(String description) { this.description = description; return this; } Method `build` has 41 lines of code (exceeds 25 allowed). Consider refactoring. @Override public Flag build() {Rename "mandatory" which hides the field declared at line 11. final boolean mandatory = this.mandatory; final int arguments = this.numberRequiredArguments; final int optionalArguments = this.numberOptionalArguments;Rename "id" which hides the field declared at line 10. final int id = this.id;Rename "alias" which hides the field declared at line 14. final String[] alias = this.alias;Rename "description" which hides the field declared at line 15. final String description = this.description;Rename "allowDuplicates" which hides the field declared at line 16. final boolean allowDuplicates = this.allowDuplicates; return new Flag() { @Override public boolean isMandatory() { return mandatory; } @Override public int getNumberRequiredArguments() { return arguments; } @Override public int getID() { return id; } @Override public String getName() { return name; } @Override public String[] getAlias() { return alias; } @Override public String getDescription() { return description; } @Override public int getNumberOptionalArguments() { return optionalArguments; } @Override public boolean getAllowDuplicates() { return allowDuplicates; } }; } }