class CommonMethodsImpl implements CommonMethods {

  @Override
  public void appendType(DAType type) throws IOException {
    append(useQualifiedReference(type) ? type.getQualifiedName() : type.getSimpleName());
    if (type.getExtendsBound() != null) {
      append(" extends ");
      appendType(type.getExtendsBound());
    }
    else if (type.getSuperBound() != null) {
      append(" super ");
      appendType(type.getExtendsBound());
    }
    appendTypeArgs(type.getTypeArgs());
    if (type.isArray()) {
      append("[]");
    }
  }

  public  CommonMethodsImpl(@Nonnull FileContext fileContext, int indentOffset);

}