private boolean mutationInsert(){
  boolean changed=false;
  final double ALPHA=Properties.P_STATEMENT_INSERTION;
  int count=0;
  TestFactory testFactory=TestFactory.getInstance();
  while (Randomness.nextDouble() <= Math.pow(ALPHA,count) && (!Properties.CHECK_MAX_LENGTH || size() < Properties.CHROMOSOME_LENGTH)) {
    count++;
    int position=testFactory.insertRandomStatement(test,getLastMutatableStatement());
    if (position >= 0 && position < test.size()) {
      changed=true;
      mutationHistory.addMutationEntry(new TestMutationHistoryEntry(TestMutationHistoryEntry.TestMutation.INSERTION,test.getStatement(position)));
    }
  }
  return changed;
}

private boolean mutationInsert ( ) { boolean changed = false ; final double ALPHA = Properties . P_STATEMENT_INSERTION ; int count = 0 ; TestFactory testFactory = TestFactory . getInstance ( ) ; while ( Randomness . nextDouble ( ) <= Math . pow ( ALPHA , count ) && ( ! Properties . CHECK_MAX_LENGTH || size ( ) < Properties . CHROMOSOME_LENGTH ) ) { count ++ ; int position = testFactory . insertRandomStatement ( test , getLastMutatableStatement ( ) ) ; if ( position >= 0 && position < test . size ( ) ) { changed = true ; mutationHistory . addMutationEntry ( new TestMutationHistoryEntry ( TestMutationHistoryEntry . TestMutation . INSERTION , test . getStatement ( position ) ) ) ; } } return changed ; }
with exponentially decreasing probability , insert statements at random position
