diff --git a/core/lib/Drupal/Core/Entity/Entity.php b/core/lib/Drupal/Core/Entity/Entity.php
index b69ba1d..557ddf3 100644
--- a/core/lib/Drupal/Core/Entity/Entity.php
+++ b/core/lib/Drupal/Core/Entity/Entity.php
@@ -432,6 +432,13 @@ public static function loadMultiple(array $ids = NULL) {
   }
 
   /**
+   * {@inheritdoc}
+   */
+  public static function create(array $values = array()) {
+    return \Drupal::entityManager()->getStorage(static::getEntityTypeFromStaticClass())->create($values);
+  }
+
+  /**
    * Returns the entity type ID based on the class that is called on.
    *
    * Compares the class this is called on against the known entity classes
diff --git a/core/lib/Drupal/Core/Entity/EntityInterface.php b/core/lib/Drupal/Core/Entity/EntityInterface.php
index 4e483df..4a2f69c 100644
--- a/core/lib/Drupal/Core/Entity/EntityInterface.php
+++ b/core/lib/Drupal/Core/Entity/EntityInterface.php
@@ -194,6 +194,18 @@ public static function load($id);
   public static function loadMultiple(array $ids = NULL);
 
   /**
+   * Constructs a new entity object, without permanently saving it.
+   *
+   * @param array $values
+   *   (optional) An array of values to set, keyed by property name. If the
+   *   entity type has bundles, the bundle key has to be specified.
+   *
+   * @return static
+   *   The entity object.
+   */
+  public static function create(array $values = array());
+
+  /**
    * Saves an entity permanently.
    *
    * When saving existing entities, the entity is assumed to be complete,
