Buggy code:
@ SuppressWarnings ( "restriction" ) public class OneToManyAssociationImpl extends ManageableAssociation { protected static final Logger logger = Logger . getLogger ( OneToManyAssociationImpl . class ) ; private static final String NAME = "name" ; private static final String SERVER_NAME = "serverName" ; private static final String HOST_ADDRESS = "hostAddress" ; private static final String HOST_PORT = "hostPort" ; private static final String PEER_ADDRESS = "peerAddress" ; private static final String PEER_PORT = "peerPort" ; private static final String ASSOCIATION_TYPE = "assoctype" ; private static final String IPCHANNEL_TYPE = "ipChannelType" ; private static final String EXTRA_HOST_ADDRESS = "extraHostAddress" ; private static final String EXTRA_HOST_ADDRESS_SIZE = "extraHostAddresseSize" ; private AssociationListener associationListener = null ; private ByteBuffer txBuffer = ByteBuffer . allocateDirect ( 8192 ) ; protected final OneToManyAssociationHandler associationHandler = new OneToManyAssociationHandler ( ) ; private AtomicBoolean started = new AtomicBoolean ( false ) ; protected AtomicBoolean up = new AtomicBoolean ( false ) ; private int [ ] workerThreadTable = null ; private volatile MessageInfo msgInfo ; private volatile Association sctpAssociation ; private final IpChannelType ipChannelType = IpChannelType . SCTP ; private OneToManyAssocMultiplexer multiplexer ; private volatile int ioErrors = 0 ; public OneToManyAssociationImpl ( ) { } public OneToManyAssociationImpl ( String hostAddress , int hostPort , String peerAddress , int peerPort , String assocName , String [ ] extraHostAddresses ) throws IOException { } public void start ( ) throws Exception { } public void stop ( ) throws Exception { } public IpChannelType getIpChannelType ( ) { } public AssociationListener getAssociationListener ( ) { } public void setAssociationListener ( AssociationListener associationListener ) { } public String getName ( ) { } public AssociationType getAssociationType ( ) { } @ Override public boolean isStarted ( ) { } @ Override public boolean isConnected ( ) { } @ Override public boolean isUp ( ) { } protected void markAssociationUp ( ) { } protected void markAssociationDown ( ) { } public String getHostAddress ( ) { } public int getHostPort ( ) { } public String getPeerAddress ( ) { } public int getPeerPort ( ) { } public String getServerName ( ) { } @ Override public String [ ] getExtraHostAddresses ( ) { } public void setManagement ( MultiManagementImpl management ) { } protected void setSocketChannel ( AbstractSelectableChannel socketChannel ) { } protected void readPayload ( PayloadData payload ) { } public void send ( PayloadData payloadData ) throws Exception { } protected boolean writePayload ( PayloadData payloadData ) { } private int doSend ( ) throws IOException { } protected void reconnect ( ) { } protected void close ( ) { } protected AbstractSelectableChannel getSocketChannel ( ) { } protected void scheduleConnect ( ) { } private void doInitiateConnectionSctp ( ) throws IOException { } protected void createworkerThreadTable ( int maximumBooundStream ) { } @ Override public String toString ( ) { } protected static final XMLFormat < OneToManyAssociationImpl > ASSOCIATION_XML = new XMLFormat < OneToManyAssociationImpl > ( OneToManyAssociationImpl . class ) { @ Override public void read ( XMLFormat . InputElement xml , OneToManyAssociationImpl association ) throws XMLStreamException { } @ Override public void write ( OneToManyAssociationImpl association , XMLFormat . OutputElement xml ) throws XMLStreamException { } } ; protected void onSendFailed ( ) { if ( ( started . get ( ) ) && ( ! ( up . get ( ) ) ) ) { OneToManyAssociationImpl . logger . warn ( ( ( "Association=" + ( getName ( ) ) ) + "<seq2seq4repair_space>CANT_START,<seq2seq4repair_space>trying<seq2seq4repair_space>to<seq2seq4repair_space>reconnect..." ) ) ; <START_BUG> reconnect ( ) ; <END_BUG> } } @ Override public void acceptAnonymousAssociation ( AssociationListener associationListener ) throws Exception { } @ Override public void rejectAnonymousAssociation ( ) { } @ Override public void stopAnonymousAssociation ( ) throws Exception { } }

Fix:
scheduleConnect ( ) ;