private ArrayList<Integer> generateDestinations( byte pieceType, int position ) {
    switch ( pieceType ) {
      case PAWN:   return ( generatePawnDestinations( position ) );
      case KNIGHT: return ( generateKnightDestinations( position ) );
      case BISHOP: return ( generateBishopDestinations( position ) );
      case ROOK:   return ( generateRookDestinations( position ) );
      case QUEEN:  return ( generateQueenDestinations( position ) );
      case KING:   return ( generateKingDestinations( position ) );
    }

    return ( new ArrayList<Integer>() );
  }