diff --git a/src/Traits/ManipulationTrait.php b/src/Traits/ManipulationTrait.php
index <HASH>..<HASH> 100644
--- a/src/Traits/ManipulationTrait.php
+++ b/src/Traits/ManipulationTrait.php
@@ -57,9 +57,9 @@ trait ManipulationTrait
     /**
      * @param string|NodeList|\DOMNode $input
      *
-     * @return NodeList
+     * @return array|NodeList|\Traversable
      */
-    protected function inputAsNodeList($input) {
+    protected function inputPrepareAsTraversable($input) {
         if ($input instanceof \DOMNode) {
             $nodes = [$input];
         } else if (is_string($input)) {
@@ -70,6 +70,17 @@ trait ManipulationTrait
             throw new \InvalidArgumentException();
         }
 
+        return $nodes;
+    }
+
+    /**
+     * @param string|NodeList|\DOMNode $input
+     *
+     * @return NodeList
+     */
+    protected function inputAsNodeList($input) {
+        $nodes = $this->inputPrepareAsTraversable($input);
+
         $newNodes = $this->newNodeList();
 
         foreach ($nodes as $node) {
Break-up inputAsNodeList() into two methods.