public class Bit { private final boolean value; private final Bit moreSignificant; private Bit(final boolean value, final Bit moreSignificant) { // TODO } public Bit(final boolean value) { // TODO } public Bit() { // TODO } public Bit increment() { // TODO } public Bit add(final Bit other) { return add(other, false); } public Bit add(final Bit other, final boolean carryIn) { // TODO } public boolean equals(final Bit other) { // TODO } public String getAsString() { String result; if (moreSignificant == null) { result = ""; } else { result = moreSignificant.getAsString(); } if (value) { result += "1"; } else { result += "0"; } return result; } }