private String buildFullMessage(String msg,Object arg0,Object arg1,Object arg2,Object[] argArray){
  StringBuilder sb=null;
  int lastIndex=0;
  int argC=0;
  while (true) {
    int argIndex=msg.indexOf(ARG_STRING,lastIndex);
    if (argIndex == -1) {
      break;
    }
    if (sb == null) {
      sb=new StringBuilder(128);
    }
    sb.append(msg,lastIndex,argIndex);
    lastIndex=argIndex + ARG_STRING_LENGTH;
    if (argArray == null) {
      if (argC == 0) {
        appendArg(sb,arg0);
      }
 else       if (argC == 1) {
        appendArg(sb,arg1);
      }
 else       if (argC == 2) {
        appendArg(sb,arg2);
      }
 else {
      }
    }
 else     if (argC < argArray.length) {
      appendArg(sb,argArray[argC]);
    }
 else {
    }
    argC++;
  }
  if (sb == null) {
    return msg;
  }
 else {
    sb.append(msg,lastIndex,msg.length());
    return sb.toString();
  }
}

private String buildFullMessage ( String msg , Object arg0 , Object arg1 , Object arg2 , Object [ ] argArray ) { StringBuilder sb = null ; int lastIndex = 0 ; int argC = 0 ; while ( true ) { int argIndex = msg . indexOf ( ARG_STRING , lastIndex ) ; if ( argIndex == - 1 ) { break ; } if ( sb == null ) { sb = new StringBuilder ( 128 ) ; } sb . append ( msg , lastIndex , argIndex ) ; lastIndex = argIndex + ARG_STRING_LENGTH ; if ( argArray == null ) { if ( argC == 0 ) { appendArg ( sb , arg0 ) ; } else if ( argC == 1 ) { appendArg ( sb , arg1 ) ; } else if ( argC == 2 ) { appendArg ( sb , arg2 ) ; } else { } } else if ( argC < argArray . length ) { appendArg ( sb , argArray [ argC ] ) ; } else { } argC ++ ; } if ( sb == null ) { return msg ; } else { sb . append ( msg , lastIndex , msg . length ( ) ) ; return sb . toString ( ) ; } }
return a combined single message from the msg ( with possible { } ) and optional arguments .
