private Node createTree(int inorder[],int preorder[], int start, int end){
        if(start > end){
            return null;
        }
        int i;
        for(i=start; i <= end; i++){
            if(preorder[index] == inorder[i]){
                break;
            }
        }
        Node node = Node.newNode(preorder[index]);
        index++;
        node.left = createTree(inorder,preorder,start,i-1);
        node.right = createTree(inorder,preorder,i+1,end);
        return node;
    }
http://www.geeksforgeeks.org/construct-tree-from-given-inorder-and-preorder-traversal/
Test cases:
Empty tree
One node tree
All left side tree
All right side tree
Mixed tree
Full tree
complete tree
src/com/interview/tree/ConstructTreeFromInOrderPreOrder.java